Это простая java-функция, принимающая вход в double. Он принимает вход и сначала проверяет, является ли значение нечисловым. И затем проверьте, больше ли значение 0 или нет.бесконечный цикл на нечисловом вводе в java
Проблемы Я облицовка каждый раз, когда я вхожу нечисловой вход, он запускает бесконечный цикл и печатать только "Enter a number greater or equal to 1.0: "
double getInput(double n) {
Scanner kbd = new Scanner(System.in);
boolean flag = false;
boolean check = false;
while (!flag) {
System.out.println("Enter a number greater or equal to 1.0: ");
try {
n = kbd.nextDouble();
if (n >= 0 || n < 0)
check = true;
} catch (InputMismatchException ex) {
err.print("Invalid Data Type (not Numeric)");
}
if (check == true) {
if (n < 0)
System.out.println("Invalid value (too small)");
else
flag = true;
}
}
return n;
}
я хочу принять ввод, пока правильное значение не вводится –
Таким образом, даже при вводе правильного входа в следующий раз, ваш код разве работает? –
его работа, если я ввожу правильный номер –