국어, 영어, 수학 성적을 입력할 때 0 ~ 100 범위의 데이터만 인정하고 입력된 성적에 대해 총점, 평균, 학점 출력하는 예제
-----------------------
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Score{
public static void main(String[] ar){
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
char grade = 0;
float avg = 0.0f;
String title[] = new String[]{"국어","영어","수학"};
int lesson[] = new int[title.length];
int total = 0;
for(int i = 0;i<title.length;i++){
do {
System.out.print(title[i]+" = ");
try {
lesson[i] = Integer.parseInt(br.readLine());
} catch (NumberFormatException e) {
lesson[i] = -1; // 예외 발생시 do while()문을 빠져나가지 않게 -1로 초기화
System.out.println("숫자만 입력하세요!!");
} catch (IOException e) {
lesson[i] = -1;// 예외 발생시 do while()문을 빠져나가지 않게 -1로 초기화
System.out.println("오류가 있습니다. 다시 입력하세요!!");
}
} while (lesson[i] < 0 || lesson[i] > 100);
total += lesson[i];
}
avg = total / 3.0f;
switch ((int)(avg /10)) {
case 10:
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("=======성적보기========");
System.out.println("총점 = " + total);
System.out.printf("평균 = %.2f\n", avg);
System.out.println("학점 = " + grade + "학점");
}
}
'자바' 카테고리의 다른 글
Swing 디지털 시계1 - Thread 이용 (0) | 2016.09.21 |
---|---|
성적입력4 [여러명의 성적 처리, 총점, 평균, 최고점, 최저점, 등수] (0) | 2016.09.20 |
성적입력2[switch문으로 학점체크] (0) | 2016.09.20 |
성적입력1[if문으로 학점체크] (0) | 2016.09.19 |
자바의 연산자 (0) | 2016.07.11 |