これが私のJavaコードです:
Scanner userInput = new Scanner(System.in);
while (true) { // forever loop
try {
System.out.print("Please type a value: "); // asks user for input
double n = userInput.nextDouble(); // gets user input as a double
break; // ends if no error
}
catch (Throwable t) { // on error
System.out.println("NaN"); // not a number
}
}
コメントからこれが何をすることになっているのかを見ることができます。
しかし、数字ではないものを入力すると、次のようになります。
Please type a value: abc
NaN
Please type a value: NaN
Please type a value: NaN
Please type a value: NaN
Please type a value: NaN
Please type a value: NaN
Please type a value: NaN
強制的に停止するまで続けます。
Pythonでは、これを実行します。
while True:
try:
n = float(raw_input("Please type a value: "))
break
except Exception:
print "NaN"
Javaでこれを行うにはどうすればよいですか?を使用してみましたdo while
。