사용자가 입력 할 수있는 것에 대한 제약을주기위한 방법을 찾고 있습니다. 보다 구체적으로, 입력은 프로그램 내에서 특정 제한을 존중해야합니다. 또한 나는 한계를 존중하는 정수를 제공하지 않는 한 사용자에게 유효한 입력을 계속 요청하고 싶습니다. 필자의 주요 포인트는 InputMismatchException (사용자가 문자열을 입력하는 경우)을 잡아 내고 정수 입력이 한계 내에 있지 않으면 입력을 다시 요청하는 것입니다. try catch 메서드를 사용하는 방법에 관해서 혼란 스럽다. 어떤 도움을 주시면 감사하겠습니다! 고맙습니다.입력에 둘 이상의 제한 조건이있는 경우 사용자에게 유효한 정수 입력을 계속 요청하는 방법
Scanner sc = new Scanner(System.in);
System.out.println("Please enter your next move: ");
int rowNum = sc.nextInt();
int columnNum = sc.nextInt();
try {
while (((rowNum < 0)||(columnNum < 0)) || ((rowNum >= Board.length)||(columnNum >= Board[0].length))) {
System.out.println("Your move is not valid, Please enter a valid move");
rowNum = sc.nextInt();
columnNum = sc.nextInt();
}
while (Board[rowNum][columnNum] != ' '){
System.out.println("Your move is not valid, Please enter a valid move");
rowNum = sc.nextInt();
columnNum = sc.nextInt();
}
} catch(Exception e) {
System.out.println("Your move is not valid, please enter a valid move");
sc.nextInt();
}
가능한 복제 ([루프가 Double.IsNaN을 부적절하게 구문 분석하는 동안] https://stackoverflow.com/questions/42095950/while-loop-parsing-double-isnan-improperly) – Izruo