while(true){
int dan= 0;
System.out.println("\n단을 입력");
try{dan = scanner.nextInt();
if (dan >= 10)break; }
catch(InputMismatchException e) {
System.out.println("아닙니다");
dan = 0;
continue;
}
요롷게 해결했는데
캐치한다음에 와일문을 재실행하잖아요?
그럼 단을입력이 다시 출력될줄알았는데 지혼자 아닙니다랑 반복으로 출력해서
단을 초기화해줬어요... 그래도 그래요... 어떡하죠?
dan = Integer.parseInt(scanner.nextLine()); 이런식으로 받으면 무한반복 안 뜸, 아니면 와일문 내부에서 scanner 을 new 해주던가
그대신 dan = Integer.parseInt(scanner.nextLine()); 이거 쓸거면 밑에 익셉션 바꿔야됨
감사합니다 더공부할께융
교수님이 시험때내주신거라 배운거 한도내에서 해결해보려구요 그리고 좀있다 삭제할께욥! ㅠ
배운 한도내에서 할거면 트라이 밑에 scanner = new Scanner(System.in); 넣어요
이유도 여쭤봐도 될까요
자세히는 모르는데 그.. 버퍼? 에 데이터? 이런게 남아있어서 그렇다고 기억함
그레서 scanner.nextLine(); 이거 넣어줘도 제거되는거로 기억하는데 잘 모르겟다, 한 번 캐치 밑에 넣어보셍