사용자가 입력 한 내용의 유효성을 검사하려고합니다. 사용자가 Y 좌표에 (AJ)와 X 사이에 문자를 넣습니다 (1 ~ 9). y 좌표는 유효하지만, x 좌표를 확인하는 데 문제가 있습니다. 사용자가 1에서 9 사이의 숫자 이외의 다른 값을 입력하면 사용자에게 유효한 입력을 계속 요청합니다.Java 정수 입력 유효성 검사
do {
// inner loop checks and validates user input
do {
System.out.println("Enter X Co-Ord (A-J), or Q to QUIT");
letter = input.next().toUpperCase(); // upper case this for
// comparison
if (letter.equals("Q"))
break; // if user enters Q then quit
String temp = "ABCDEFGHIJ";
while (temp.indexOf(letter) == -1) {
validString = false;
System.out.println("Please enter a valid input");
letter = input.next().toUpperCase();
col = temp.indexOf(letter);
}
if (temp.indexOf(letter) != -1) {
validString = true;
col = temp.indexOf(letter);
}
try {
System.out.println("Enter Y Co-Ord (0-9)");
row = input.nextInt();
} catch (InputMismatchException exception) {
validInt = false;
System.out.println("Please enter a number between 1 -9");
}
catch (Exception exception) {
exception.printStackTrace();
}
valuesOK = false; // only set valuesOK when the two others are
// true
if (validString && validInt) {
valuesOK = true;
}
} while (!valuesOK); // end inner Do loop
출력은 :
는 X 공동 오드 (AJ)를 입력하거나, Q가 종료
D
는 입력 Y 공동 오드 (0-9)
h
1 -9
사이의 숫자를 입력하십시오.당신은 당신이 때처럼 당신의 nextInt()
같은 주위에 while 루프를 둘 필요가 X 공동 오드 (AJ) 또는 Q가
입력 Y 공동 오드 (0-9)
텍스트를 정렬하고 싶습니다. 하나는 0-9, 하나는 1-9라고 말합니다. –