반응형

문제

다음 프로그램은 ArrayList에 20개의 임의의 실수를 삽입하고 모든 실수를 출력하는 프로그램이다. 모든 실수를 출력하는 부분을 Iterator를 이용하여 수정하라

 

문제 소스

import java.util.ArrayList;
public class Main4 {
	public static void main(String[] args) {
		ArrayList<Double> a = new ArrayList<Double>();
		for(int i = 0;i<20;i++) {
			double d = Math.random()*100; // 0.0 ~ 100.0 사이의 랜덤한 실수
			a.add(d);
		}
		// 이 부분 수정
		for(int i = 0;i<20;i++)
		{
			System.out.println(a.get(i));
		}

	}

}

 

소스 코드

(사용할 클래스가 포함된 패키지 선언 방법이 모를 땐, Ctrl + Shift + o(알파벳) 누르시면 자동으로 추가해줍니다.)

import java.util.ArrayList;
import java.util.Iterator;
public class Main4 {
	public static void main(String[] args) {
		ArrayList<Double> a = new ArrayList<Double>();
		for(int i = 0;i<20;i++) {
			double d = Math.random()*100; // 0.0 ~ 100.0 사이의 랜덤한 실수
			a.add(d);
		}
		// 이 부분 수정
		Iterator<Double> it = a.iterator(); 
		// double이 아닌 Double사용해야함 기본 타입 사용 불가
		while(it.hasNext()) { // 값이 있을때 까지 실행
			double n = it.next(); // 다음 값 n에 저장
			System.out.println(n); // 출력
		}

	}

}

결과

21.682354414100423
68.12176249839573
90.18336487034124
20.390411829434807
46.864036416920825
23.31759658352963
28.144614681214698
30.33753351616787
37.83634698945536
14.969898519803415
25.001090784183265
26.670294132217432
21.390460546060865
35.468423285316895
82.38578035008013
65.66836688688392
12.958212033635984
17.656082212719248
83.61235339930406
55.07903459309939

출력결과는 컴파일 할 때마다 달라요.

반응형
반응형

문제

키보드로 10개의 나라 이름과 인구를 입력받아 저장하고, 다시 나라 이름을 키보드로부터 입력받아 인구를 출력하는 프로그램을 다음과 같이 해시맵을 이용하여 작성하라.

 

소스코드

import java.util.*;
public class Main3 {

	public static void main(String[] args) {
		HashMap<String,Integer>nations =new HashMap<String,Integer>();
		Scanner scan = new Scanner(System.in);
		
		String Contry;
		int PeopleNumber;
		
		for(int i=0;i<10;i++)
		{
			Contry = scan.next();
				PeopleNumber = scan.nextInt();
			nations.put(Contry,PeopleNumber);
		}
		
		//입력 확인을 위한 출력문
		Set<String>keys = nations.keySet();
		Iterator<String> it = keys.iterator();
		
		while(it.hasNext()) {
			String key = it.next();
			System.out.println("("+key+", "+nations.get(key)+")");
		}
		
		System.out.print("찾으시는 나라를 입력하세요 : ");
		String find = scan.next();
		if(nations.containsKey(find)) {
			System.out.println("찾으시는 나라가 존재합니다.");
			System.out.println("나라 이름 : " + find+", 인구 수 : "+nations.get(find));
		}
		else {
			System.out.println("찾으시는 나라는 Hashmap에 존재하지 않습니다");
		}
		
		
		scan.close();
	}

}

결과

한국 1 미국 2 중국 34 인도 12 일본 0 북극 2 남극 0 독일 2 아르헨티나 3 유럽 2
(독일, 2) (미국, 2) (인도, 12) (일본, 0) (중국, 34) (유럽, 2) (남극, 0) (한국, 1) (북극, 2) (아르헨티나, 3)
찾으시는 나라를 입력하세요 : 한국
찾으시는 나라가 존재합니다.
나라 이름 : 한국, 인구 수 : 1
반응형
반응형

문제

Scanner 클래스를 사용하여 5개 학점('A', 'B', 'C', 'D', 'F')을 문자로 입력받아 ArrayList에 저장하고, ArrayList를 검색하여 학점을 점수(A=4.0, B=3.0, C=2.0, D=1.0, F=0)로 변환하여 출력하는 프로그램을 작성하라.

 

소스코드

import java.util.*;
// ArrayList연습
public class Main2 {

	public static void main(String[] args) {
		ArrayList<String> array = new ArrayList<String>();
		
		Scanner scan = new Scanner(System.in);
		System.out.print("5개의 학점을 입력하세요 : ");
		for(int i =0 ;i<5;i++) {
			String temp = scan.next();
			array.add(temp);
		}
		
		for(int i = 0;i<array.size();i++) {
			String temp = array.get(i); // i번째 문자열 얻어오기
			if(temp.equals("A")) {
				System.out.println("학점 ["+temp + "] = 4.0");
			}
			else if(temp.equals("B")){
				System.out.println("학점 [" + temp + "] = 3.0");
			}
			else if(temp.equals("C")){
				System.out.println("학점 [" + temp + "] = 2.0");
			}
			else if(temp.equals("D")){
				System.out.println("학점 [" + temp + "] = 1.0");
			}
			else
				System.out.println("학점 [" + temp + "] = 0");
		}
        scan.close();
	}

}

결과

5개의 학점을 입력하세요 : A B C D F
학점 [A] = 4.0
학점 [B] = 3.0
학점 [C] = 2.0
학점 [D] = 1.0
학점 [F] = 0
반응형

+ Recent posts