#자바 #BufferedReader #Method #do ~ while

 

public static void main(String[] args) throws NumberFormatException, IOException {
  
  
  // 국어, 영어, 수학 점수 입력 받아 총점, 평균 구하기
  BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
  
  int kor = getScore("국어",reader); // 메서드 호출
  int eng = getScore("영어",reader);
  int math = getScore("수학",reader);

  
  int total = kor + eng + math;
  float avg = total/3.0F;
  
  System.out.println("===== 기말고사 성적표 =====");
  System.out.println("국어\t 영어\t 수학\t 총점\t 평균");
  System.out.printf("%d\t %d\t %d\t %d\t %.2f", kor, eng, math, total, avg);
 }
 
 // 모듈화(메서드 선언) -> 선언을 바꾸지 않는 것이 좋다.
 public static int getScore(String subject, BufferedReader reader) throws NumberFormatException, IOException {
  int score = 0;
  do {
   System.out.print(subject + " : ");
   score = Integer.parseInt(reader.readLine());
   if(score <0 || score > 100) {
    System.out.println("점수는 0 ~ 100 범위 내의 숫자로 입력해주세요.");
   }
  }while(score < 0 || score > 100);
  return score;
 }

+ Recent posts