이 코드는 사용자로부터 정수를 얻은 다음 프로그램을 끝내기로되어 있습니다. 사용자가 잘못된 번호를 입력하면 사용자에게 다시 묻습니다.Scanner.reset()이 작동하지 않습니다.
예외를 포착 한 후 Scanner.reset()
을 사용하여 스캐너를 재설정하지만 작동하지 않습니다. 이전 예외를 다시 throw합니다.
Scanner in = new Scanner(System.in);
while (true) {
try {
System.out.print("Enter an integer number: ");
long i = in.nextLong();
System.out.print("Thanks, you entered: ");
System.out.println(i);
break;
} catch (InputMismatchException ex) {
System.out.println("Error in your input");
in.reset(); // <----------------------------- [The reset is here]
}
}
나는 Scanner.reset()
이 모든 것을 재설정하고 예외를 잊어 버릴 것이라고 생각했습니다. 나는 사용자에게 새로운 입력을 요구하기 전에 그것을 넣었다.
요점이 잘못되면 어떻게 될까요?
이 같은
next...
방법을 호출하기 전에has...
방법을 사용한다? 해당 메소드에 대한 API 문서를 읽으십시오. – Jesper'reset()'으로 무엇을하려고합니까? 사용자 입력을 다시 묻는 중입니까? 그건'reset()'이하는 것이 아닙니다. –