これは入力を2倍にする単純なJava関数です。値が非数値の場合は、入力と最初のチェックが必要です。次に、値が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;
}
iは、正しい値が次回正しい入力を入力した場合でも、あなたのコードが動作イマイチので –
に入るまでの入力をしたいですか? –
正しい数字を入力した場合 –