如何从 运行 无限循环停止?
How do I stop while loop from running infinitely?
不知道如何阻止这个 while 循环无限重复。我正在使用 hasNextInt
来检查用户输入是否为 int。如果未输入 int,则循环无限重复。
public static void validatingInput(){
Scanner scan = new Scanner(System.in);
boolean valid = false;
int userNumber = 0;
while(!valid) {
System.out.println("Enter number between 1 and 20: ");
if (scan.hasNextInt()) {
userNumber = scan.nextInt();
valid = true;
} else
System.out.print("Not an int. ");
}
}
您需要使用来自扫描仪的令牌才能读取下一个令牌:
while (!valid) {
System.out.println("Enter number between 1 and 20: ");
if (scan.hasNextInt()) {
userNumber = scan.nextInt();
valid = true;
} else
System.out.print("Not an int. ");
scan.next(); // Skip a token
}
}
您可以使用 break;
打破任何循环。
检查输入的状态并在需要时中断 while
不知道如何阻止这个 while 循环无限重复。我正在使用 hasNextInt
来检查用户输入是否为 int。如果未输入 int,则循环无限重复。
public static void validatingInput(){
Scanner scan = new Scanner(System.in);
boolean valid = false;
int userNumber = 0;
while(!valid) {
System.out.println("Enter number between 1 and 20: ");
if (scan.hasNextInt()) {
userNumber = scan.nextInt();
valid = true;
} else
System.out.print("Not an int. ");
}
}
您需要使用来自扫描仪的令牌才能读取下一个令牌:
while (!valid) {
System.out.println("Enter number between 1 and 20: ");
if (scan.hasNextInt()) {
userNumber = scan.nextInt();
valid = true;
} else
System.out.print("Not an int. ");
scan.next(); // Skip a token
}
}
您可以使用 break;
打破任何循环。
检查输入的状态并在需要时中断 while