명품 JAVA 프로그래밍
명품 JAVA 프로그래밍 7장 실습문제 9
anycoding
2021. 12. 1. 22:17
반응형
문제
하나의 학생 정보는 Student 클래스 표현한다. Student 클래스에는 이름, 학과, 학번, 학점 평균을 나타내는 필드가 있다. 여기서 학번을 String 타입으로 선언한다. 키보드에서 학번 정보를 5개 입력받아 학번을 '키' 로 하여 HashMap<String, Student>에 저장하고 학번으로 학생 정보를 검색하여 출력하는 프로그램을 작성하라. 다음과 같은 해시맵을 이용하라.
예시 해쉬맵
HashMap<String, Student> dept = new HashMap<String, Student>();
소스 코드
import java.util.HashMap;
import java.util.Scanner;
class Student{
private String name;
private String department;
private double Score;
Student(String name,String department,double Score){
this.name = name;
this.department = department;
this.Score = Score;
}
public void Print(){
System.out.println("학생 이름 : "+name);
System.out.println("학과 이름 : "+department);
System.out.println("학점 : "+Score);
}
}
public class Main9 {
public static void main(String[] args) {
HashMap<String, Student> dept = new HashMap<String,Student>();
Scanner s = new Scanner(System.in);
System.out.println("학생 5명의 정보를 입력하시오");
for(int i = 0;i<5;i++)
{
System.out.print("학생 이름 : ");
String name = s.nextLine();
System.out.print("학과 이름 : ");
String department = s.nextLine();
System.out.print("학번 : ");
String studentID = s.nextLine();
System.out.print("학점 : ");
double score = s.nextDouble();
s.nextLine();
Student temp = new Student(name,department,score);
dept.put(studentID,temp);
}
System.out.print("검색할 학생의 학번을 입력하시오 : ");
String find = s.nextLine();
System.out.println();
if(dept.containsKey(find)) {
System.out.println("학번 : " + find);
dept.get(find).Print();
}
else {
System.out.println("학생이 존재하지 않습니다.");
}
s.close();
}
}
결과
학생 5명의 정보를 입력하시오
학생 이름 : 유관순
학과 이름 : 독립
학번 : 19021216
학점 : 4.5
학생 이름 : 이순신
학과 이름 : 무예
학번 : 15450428
학점 : 4.5
학생 이름 : 세종대왕
학과 이름 : 훈민정음
학번 : 13970515
학점 : 4.5
학생 이름 : 백범 김구
학과 이름 : 독립
학번 : 18760829
학점 : 4.5
학생 이름 : 안중근
학과 이름 : 독립
학번 : 18790902
학점 : 4.5
검색할 학생의 학번을 입력하시오 : 18790902
학번 : 18790902
학생 이름 : 안중근
학과 이름 : 독립
학점 : 4.5
반응형