JAVA

자바 Exception처리 예제(국어,영어,수학 점수 입력받아 출력하기)

KSJ IT 2018. 9. 7. 16:37

유익하셨다면 광고 한번씩만 클릭해주시면 감사하겠습니다.

반응형

       // 국어 영어 수학 점수 입력받아 총점 평균 구하기

BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

String[] subject = {"국어", "영어", "수학"};

//국어 영어 수학 점수를 입력받아 집어넣을 배열 선언.

int[] score = new int[subject.length + 1];

boolean isError = false;

for(int i = 0; i < subject.length; i++) {

do{

isError = false;

try {

System.out.print(subject[i] + " : ");

score[i] = Integer.parseInt(reader.readLine());

}catch(IOException e) {                                        // 앞의 예제들에서는 throw했지만 이번예제에는 예외처리를 한다.

System.out.println("입출력 에러.");        // BufferedReader를 이용해 점수를 입력받기에 IOException 처리.

}catch(NumberFormatException e) {            // 데이터를 입력할 배열이 int형 배열이므로 문자가 들어오면안됨.

System.out.println("점수는 숫자만 입력하세요.");    // 그래서 문자가 들어오면 다시 입력해야한다.

isError = true;

}

}while(score[i] <0 || score[i] >100 || isError);

// 총점

score[score.length - 1] += score[i];

}

float avg = score[score.length - 1] / (float)subject.length;

System.out.println("=============== 기말고사 성적 ===============");

for(int i =0; i < subject.length; i++) {

System.out.print(subject[i] + "\t");

}

System.out.println("총점\t 평균");

for(int i = 0; i < score.length; i++) {

System.out.printf("%d\t",score[i]);

}

System.out.printf("%.2f",avg);

반응형