繁体   English   中英

Java ArrayList<double> 没有按预期工作

[英]Java ArrayList<double> not working as wanted

我正在尝试编写一个程序,该程序将通过用户输入数字并将数字存储到 ArrayList 中。 目前我有:

public static void main(String[] args) {
    System.out.println(numberstorage());
}
public static ArrayList<Double> numberstorage() {
    Scanner s = new Scanner(System.in);
    ArrayList<Double> numbers = new ArrayList<Double>();
    System.out.println("Enter a number between 0 - 100");
    do {
        numbers.add(s.nextDouble());
    } while (s.nextDouble() != 0);
    s.close();
    return numbers;
}

当我输入 1、2、3 时,由于某种原因,我的输出是 1.0、3.0。 是否有理由跳过一行输入?

每个循环调用s.nextDouble()两次——一次将它添加到numbers ,一次检查while条件。

相反,您只想调用它一次,并且每次都使用相同的值。 将其存储在变量中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM