나는 정수를 입력하도록 요청하고, 사용자의 경우에 사용자의 유형을 예를 들어 문자열을, 그 예외를 캐치하는 방법을 시작try/catch를 사용할 때 무한 루프를 피하는 방법은 무엇입니까?
public void askUserForStrategy(){
try{
System.out.println("What strategy do you want to use?\n");
System.out.println("1 = Math.random\t 2 = System time\t "
+ "3 = Sum of Math.random and System time");
int strategy = sc.nextInt();
selectStrategy(strategy);
}
catch(InputMismatchException Exception){
System.out.println("That is not an integer. Try again.\n");
askUserForStrategy();
}
}
내가 그것을 수행 할 작업이 코드를 기본적으로되어 있습니다 다시 (사용자에게 정수 값을 입력하도록 요청하십시오). 그러나 사용자가 문자열을 입력 할 때 메서드가 반복됩니다.
할 일을 계속 프로그램 흐름에'try-catch'를 사용하지 마십시오. 복구 할 수없는 예외 만 처리해야합니다. 같은 과정을 다시 시도하지 마십시오. – Filburt