这是一项家庭作业。这是为什么这个循环加倍我的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