限制用户只输入数字(int,float,double)

时间:2017-12-01 12:21:55

标签: java arraylist collections user-input

用户必须只输入数字(int,float,double)到ArrayList中。如果用户输入除数字之外的任何内容,则必须抛出异常InputMismatchException。

我想过使用Number class。

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);

此代码将在询问用户是否要继续提供输入时执行。唯一的问题是如何限制用户只输入数字。这应该在不创建另一个类的情况下完成,但允许方法限制用户。

2 个答案:

答案 0 :(得分:0)

你可以接受所有数字作为双打。 Ints和Floats可能会变成doulbles似乎:

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

答案 1 :(得分:0)

The docs for Scanner应描述您的需求。您的扫描仪可以将输入读取为您想要的任何类型的数字。如果输入与您期望的不匹配,则会抛出InputMismatchException。

相关问题