-
[JAVA/자바] 학점계산기 예제Language/Java 2018. 2. 24. 13:50반응형
학점 계산기
만들고 싶은 기능
1. 100점 만점 기준
0보다 작거나 100보다 큰 값을 넣을수 없게 하고 싶다.
2. 점수 입력시 문자를 입력하면 재입력을 요청 한다.
3. 총점으로 평균을 구하여 등급을 얻고 싶다.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152import java.io.*;class GradeCalculator{ // 학점 계산기BufferedReader br = new BufferedReader(new InputStreamReader(System.in));int total;// 입력void input(String subject){System.out.print(subject + " : ");try{String line = br.readLine();line = line.trim();int point = Integer.parseInt(line);if(point < 0 || point > 100){System.out.println("점수가 0보다 작거나 100보다 클 수 없습니다.");input(subject);}else{total += point;}}catch(IOException ioe){}catch(NumberFormatException nfe){System.out.println("숫자만을 입력해주세요.");input(subject);}}// 출력void output(){int avg = total/4;String grade = "";switch(avg/10){case 10: grade = "천재"; break;case 9: grade = "A"; break;case 8: grade = "B"; break;case 7: grade = "C"; break;case 6: grade = "D"; break;default : grade = "F";}System.out.println("당신의 학점은 "+ grade +" 입니다.");System.out.println("(총점 : " + total + " , 평균 : " + avg + ")");}public static void main(String[] args){GradeCalculator gc = new GradeCalculator();System.out.println("학점 계산기 입니다. 점수를 입력해 주세요.");gc.input("국어");gc.input("수학");gc.input("영어");gc.input("자바");gc.output();}}cs String line = br.readLine();
은 입력을 받는 로직이다.
line = line.trim();
은 입력 받은 내용들의 들여쓰기 ( , ) (=스페이스바 , 탭)
을 예외 하는 로직이다.
Integer.parseInt(line);
은 입력받은 문자를 정수형으로 파싱(분석/번역/변환) 해준다.
try{}catch(NumberFormatException nfe){}
은 입력받은 내용이 숫자가 아닐경우 발생하는 예외내용 이다.
과목을 추가하거나 제거 하려는 경우
main메소드의 gc.input("과목"); 을 수정하면 된다.
참고 링크 ↓
1. BufferedReader 이 무엇인지 알고 싶다.
반응형'Language > Java' 카테고리의 다른 글
[JAVA 38] 자바 주석 ( Coment ) (0) 2018.02.26 [JAVA 37] 자바 랜덤 / 무작위 ( Random ) (0) 2018.02.26 [JAVA 36] 자바 입출력 ( IO ( Input / Output )) (4) 2018.02.23 [JAVA 35] 자바 쓰레드 ( Thread ) (0) 2018.02.20 [JAVA 34] 내부 클래스 ( Inner Class ) (0) 2018.02.19