提问者:小点点

限制用户仅输入数字(int、flot、double)


用户必须仅将数字(int、flot、double)输入ArrayList。如果用户输入数字以外的任何内容,则必须抛出异常InputMismatchException。

我想到了使用数字类。

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

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


共2个答案

匿名用户

你可以接受所有的数字都是双打。Ints和floats可以适当地转换为双打:

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

匿名用户

扫描仪的文档应该描述您需要的内容。您的扫描仪可以将输入读取为您想要的任何类型的数字。如果输入与您期望的不匹配,它将抛出InputMismatchException。