검색결과 리스트
프로그래밍/ㆍC/C++/Java에 해당되는 글 25건
- 2012.03.02 [java] Collection HashMap으로 성적 관리 프로그램 구현하기
글
java에서 아주 중요한 개념인 Collection 에 속하는 HashMap으로 간단한 성적 관리 프로그램을 구현하겠습니다.
입력에 대한 예외처리는 하지 않았으므로 과목명은 영어(한글), 점수는 숫자만 입력하셔야 예외를 피할 수 있습니다.
2개의 클래스로 구성되어 있으며, Grade.java 는 main 클래스가 있는 클래스이고 InfoGrade.java 는 점수 데이터를 가지고 있는 클래스 입니다.
* Grade.java
import java.util.HashMap; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Scanner; import java.util.Set; public class Grade { public static HashMap* InfoGrade.javamap = new HashMap (); private static final int EXIT = 0; private static final int INSERT = 1; private static final int DELETE = 2; private static final int INQUIRY = 3; private static final int SUM = 4; private static final int AVG = 5; public static void main(String[] args) { Scanner s = new Scanner(System.in); System.out.println(" ============================="); System.out.println(" 성적 관리 프로그램"); System.out.println(" ============================="); System.out.println(" 1. 성적 입력"); System.out.println(" 2. 성적 삭제"); System.out.println(" 3. 성적 조회"); System.out.println(" 4. 총점"); System.out.println(" 5. 평균"); System.out.println(" 0. 프로그램 종료"); System.out.println(" ============================="); while (true) { System.out.print(">> "); int menu = s.nextInt(); switch (menu) { case EXIT: exitGrade(); break; case INSERT: insertGrade(); break; case DELETE: deleteGrade(); break; case INQUIRY: inquiryGrade(); break; case SUM: sumGrade(); break; case AVG: avgGrade(); break; } } } private static void exitGrade() { System.out.println("프로그램을 종료합니다."); System.exit(0); } private static void insertGrade() { Scanner s = new Scanner(System.in); System.out.print("과목명: "); String name = s.nextLine().trim(); System.out.print("점수: "); InfoGrade score = new InfoGrade(); score.setScore(s.nextInt()); System.out.println("과목, 점수가 입력되었습니다."); map.put(name, score); } private static void deleteGrade() { Scanner s = new Scanner(System.in); String name = s.nextLine().trim(); System.out.println(name + "을 삭제합니다."); map.remove(name); } private static void inquiryGrade() { Set > set = map.entrySet(); for(Map.Entry me : set) { System.out.println(me.getKey() + " : " + me.getValue().getScore()); } Set set2 = map.keySet(); for(String key : set2) { System.out.println(key + " : " + map.get(key).getScore()); } Iterator it = map.keySet().iterator(); while(it.hasNext()) { String key = it.next(); System.out.println(key + " : " + map.get(key).getScore()); } } private static void sumGrade() { int sum = 0; Iterator it = Grade.map.keySet().iterator(); while(it.hasNext()) { String key = it.next(); sum += Grade.map.get(key).getScore(); } System.out.println("총점: " + sum); } private static void avgGrade() { float avg = 0; Iterator it = Grade.map.keySet().iterator(); while(it.hasNext()) { String key = it.next(); avg += Grade.map.get(key).getScore(); } System.out.println("평균: " + avg); } }
public class InfoGrade { private int score; public InfoGrade() { super(); } public InfoGrade(int score) { super(); this.score = score; } public int getScore() { return score; } public void setScore(int score) { this.score = score; } }
'프로그래밍 > ㆍC/C++/Java' 카테고리의 다른 글
[java] 주어진 초를 일, 시간, 분, 초 로 계산하기 (0) | 2012.03.15 |
---|---|
[java] Applet 으로 움직이는 공 그리기 - 당구공 예제 (0) | 2012.03.13 |
[java] Collection의 HashMap에 대해 간단한 예제로 알아보자 (0) | 2012.02.29 |
[Java] InetAddress 에 대해 알아보자 - ip 주소 가져오기 (0) | 2012.02.28 |
RECENT COMMENT