簡體   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