尝试打印数字时出错

时间:2017-03-20 18:25:25

标签: java

import java.util.ArrayList;
import java.util.Scanner; 

public class Arraylist1 {


    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        ArrayList<Double> inputs = new ArrayList<Double>();

        System.out.println("Please enter your number: ");
        while (in.hasNext()) {

            inputs.add(in.nextDouble());


        }
        System.out.println(inputs);

     }


 }

当我输入1 2 3 4 5 q输入时,我收到的错误为:

  

请输入您的电话号码:       1 2 3 4 5 q       线程“main”java.util.InputMismatchException中的异常       at java.util.Scanner.throwFor(Scanner.java:909)       在java.util.Scanner.next(Scanner.java:1530)       at java.util.Scanner.nextDouble(Scanner.java:2456)       在Arraylist1.main(Arraylist1.java:13)

为什么我得到这个错误,因为我看到一切都被正确编码,其他一些数据(在本例中为q)被添加为输入以终止arraylist循环,仍然得到错误

1 个答案:

答案 0 :(得分:0)

您应该使用hasNextDouble()代替hasNext()进行while循环。