Java 예외처리 try catch 사용 않하고
조회수 479회
public class Student { public int studentNumber; // 학번 public int kor; // 국어 public int eng; // 영어 public int math; // 수학 public double avg; public int total; public Student(int studentNumber) { // Student class 생성자 this.studentNumber = studentNumber; } public void pointInsert(Scanner sc) { // 학생 성적을 입력 받는 메소드 System.out.println(studentNumber + "번째학생입니다."); System.out.print("국어: "); kor = Integer.parseInt(sc.nextLine()); System.out.print("영어: "); eng = Integer.parseInt(sc.nextLine()); System.out.print("수학: "); math = Integer.parseInt(sc.nextLine()); } public void printsumAvr() { // 총점과 평균을 구하고 총 결과 출력 total = (kor + eng + math); avg = (total * 100 / 3 / 100.0); System.out.print(studentNumber + "\t" + kor + "\t" + eng + "\t" + math + "\t"); System.out.print(total + "\t" + avg); System.out.println(); } }
---‐‐------------- public class Main { public static void main(String[] args) { String[] subject = { "학번", "국어", "영어", "수학", "총점", "평균" }; Scanner sc = new Scanner(System.in); System.out.print("학생수를 입력하세요: "); int number = Integer.parseInt(sc.nextLine()); // 관리할 학생 수를 입력 받는다. Student[] student = new Student[number]; // 입력 받은 학생 수 만큼 Student 객체를 student 이름으로 배열 생성 for (int i = 0; i < number; i++) { // 번호 부여 student[i] = new Student(i + 1); } System.out.println(); System.out.println("점수 입력을 시작합니다."); System.out.println(); for (int i = 0; i < student.length; i++) { // 점수 입력 student[i].pointInsert(sc); System.out.println(); } System.out.print("번호" + "\t" + "국어" + "\t" + "영어" + "\t" + "수학" + "\t" + "총점" + "\t" + "평균" + "\t" + "\n"); for (int i = 0; i < student.length; i++) { // 점수 입력 student[i].printsumAvr(); } } }
코딩을 이렇게 했는데 예외 처리 100 를 if else 로 한다면 어떻게 적어야하나요?
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
메소드를 하나 만들어서 반복 시도 및 조건처리하도록 하면 재사용하기 좋습니다.
public void pointInsert(Scanner sc) { // 학생 성적을 입력 받는 메소드 System.out.println(studentNumber + "번째학생입니다."); System.out.print("국어: "); kor = tryValue(sc); System.out.print("영어: "); eng = tryValue(sc); System.out.print("수학: "); math = tryValue(sc); } public int tryValue(Scanner sc){ while(true){ int temp = Integer.parseInt(sc.nextLine()); if (temp<1 || temp>100){ System.out.println("잘못된 값입니다. 1~100 사이의 값을 입력해주세요."); }else{ return temp; } } }
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력