這是一項家庭作業。這是爲什麼這個循環加倍我的ArrayList的大小?
我提示用戶輸入任意數量的數字,然後輸入一個單詞。因爲我不知道將要輸入的數字的數量,我將它們存儲在一個String []中,然後將它們移動到一個ArrayList。
我通過在空格處分割掃描儀輸入,將輸入正確地存儲到String []中。
現在我試圖爲String []的內容有以下添加到一個ArrayList:
int i = 0;
for (i = 0; i < inputToStringArray.length; i++) {
if(values.add(Double.parseDouble(inputToStringArray[i]))){ //if you can parse a double, parse a double
values.add(Double.parseDouble(inputToStringArray[i]));
}
}
因爲我不想在輸入結束的話,我解析字符串[]爲雙打。
問題是,ArrayList複製每個數字,連續存儲兩次。
1,2.2,3.3的輸入將存儲爲1.0,1.0,2.2,2.2,3.3,3.3。
爲什麼?
因爲這是你把你的代碼。你有'values.add' **兩次**。 –
「我的代碼沒有錯誤,它的運行方式和我寫的一樣」 – SnakeDoc