javaでは、入力が数字かどうかをどのように判別しますか?
Javaで、ユーザーの入力を読み取るためにScannerクラスを使用し、hasNextDouble()メソッドを使って入力が数字かどうかを判断することができます。
以下はコードの例です。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个数字:");
if(scanner.hasNextDouble()) {
double number = scanner.nextDouble();
System.out.println(number + " 是一个数字。");
} else {
String input = scanner.next();
System.out.println(input + " 不是一个数字。");
}
scanner.close();
}
}
上記の例では、入力が数字かどうかを判断するためにScannerクラスのhasNextDouble()メソッドを使用しました。入力が数字であれば、nextDouble()メソッドを使用して入力を読み取り、double変数に格納します。入力が数字でない場合は、next()メソッドを使用して入力を読み取り、String変数に格納します。
hasNextDouble()メソッドは、入力が数字かどうかを判断する際に、前の空白や改行を自動的に無視します。したがって、ユーザーが入力する前後の空白や改行は判断結果に影響しません。
hasNextDouble()メソッドは、入力がdouble型の数字かどうかを判断することができます。他の種類の数字を判断したい場合は、hasNextInt()メソッド(整数を判断する)やhasNextLong()メソッド(長整数を判断する)などを使用することができます。