int kor1;
Scanner scan = new Scanner(System.in);
System.out.print("국어 1: ");
kor1 = scan.nextInt();
while(kor1<0 || 100<kor1) {
System.out.println("성적범위(0~100)를 벗어났습니다.");
/*System.out.print("국어 1: ");
kor1 = scan.nextInt();*/
}
이 전 if,while 문에서 적었던 코드인데 주석 처리 된 부분이 비 효율적이다.
(while을 통해 제어를 할 수 있지만 반복된 문장을 썼기 때문에)
반복 되는 것이 문제되는 이유
완전히 동기화 되어야 할 중복 코드들이 많아질 수록 수정 보완할 부분이 생기면 전부 다 변경해야 하는 일이 많아지기 때문
그러므로 해당 부분을 지우고
do {
System.out.print("국어 1: ");
kor1 = scan.nextInt();
if(kor1<0 || 100<kor1)//메세지를 띄우기 위한 조건절
System.out.println("성적범위(0~100)를 벗어났습니다.");
} while(kor1<0 || 100<kor1);//반복할 것이냐의 조건절! 마지막 ; 중요
로 만들경우 입력받고 메세지를 띄울 if문에서 확인후 마지막 while에서 최종 확인