반응형

문제

키보드로 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
반응형
반응형

문제

Scanner 클래스를 사용하여 10개의 실수 값을 키보드로부터 읽어 벡터에 저장한 후, 벡터를 검색하여 가장 큰 수를 출력하는 프로그램을 작성하라.

 

소스코드

import java.util.*;
// Vector연습
public class Main1 {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		Vector<Double> num = new Vector<Double>();
		System.out.println("10개의 실수를 입력하시오");
		for (int i = 0; i < 10; i++) {
			num.add(scan.nextDouble());
		}
		
		double max = 0.0;
		double temp = 0.0;
		Iterator<Double>it = num.iterator();
		while (it.hasNext()) {
			temp = it.next();
			max = (max > temp) ? max : temp;
		}
		System.out.println("10개의 실수 중 최대값은 : "+ max);
        scan.close();
	}

}

결과

반응형

+ Recent posts