2017-12-01 6 views
0

ユーザーは、ArrayListに数値(int、float、double)のみを入力する必要があります。ユーザーが数値以外のものを入力した場合は、例外InputMismatchExceptionをスローする必要があります。数値のみを入力するようにユーザーを制限する(int、float、double)

Numberクラスを使用すると考えました。

Scanner input = new Scanner(System.in); 
ArrayList<Number> number = new ArrayList<Number>(); 
System.out.println("Enter number"); 
(data_type???) number_var = input.??????; 
number.add(number_var); 

このコードは、入力を続けるかどうかをユーザーに尋ねるときに実行されます。唯一の問題は、入力を数字だけに制限する方法です。これは別のクラスを作成せずに行う必要がありますが、メソッドはユーザーを制限することができます。

+1

[java.util.Scannerを使用した入力の検証](https://stackoverflow.com/questions/3059333/validating-input-using-java-util-scanner)の可能な複製 – Tom

答えて

0

すべての数値をdouble型として受け入れることができます。 INTSと山車がseemlesly doulblesに変換することができます

Scanner input = new Scanner(System.in); 
List<Double> number = new ArrayList<Double>(); 
System.out.println("Enter number"); 
number.add(input.nextDouble()); 
0

The docs for Scannerはあなたが必要なものを記述する必要があります。スキャナは、任意の種類の番号として入力を読み取ることができます。入力が期待どおりに一致しない場合、InputMismatchExceptionがスローされます。

関連する問題