나는 간단한 자바 콘솔 게임을 쓰고있다. 스캐너를 사용하여 콘솔에서 입력을 읽습니다. 정수를 요구하는지 확인하려고하는데 문자가 입력되면 오류가 발생하지 않습니다.무한 루프를 일으키는 catch 블록을 사용 하시겠습니까?
boolean validResponce = false;
int choice = 0;
while (!validResponce)
{
try
{
choice = stdin.nextInt();
validResponce = true;
}
catch (java.util.InputMismatchException ex)
{
System.out.println("I did not understand what you said. Try again: ");
}
}
하지만 그냥 catch 블록을 인쇄, 무한 루프를 만드는 것 : 나는 이것을 시도했다. 내가 도대체 뭘 잘못하고있는 겁니까.
그리고 그래, 내가 새로운 자바
에
브릴리언트의 일반적인 주제의
사용해보십시오! 그래서 나는 모두 함께 try-catch를 제거 할 수 있습니다! –
@ Adam8797 마찬가지로, hasNextInt()도 입력을 버리지 않으므로'nextLine()'을 사용하여 정수가 아닌 InputStream에서 항목을 찾으면 입력의 다음 토큰 만 테스트합니다 흐름. –
고마워, 그게 좋은 팁. –