sNums = scanString.nextLine();
String[] num = sNums.split(" ");
for (int i = 0; i < num.length; ++i)
{
numbers = new double[i+1];
numbers[i] = Double.valueOf(num[i]);
}
for(double item: numbers)
out.print(item + " ");
我正在尝试将我拥有的数字字符串(在本例中为“num”)更改为 double 组。我很确定这应该有效,但出于某种原因,它会将“0.0”存储到除最后一个元素之外的每个输入元素中。例如,如果我输入“1 5 7 90 52[enter]”,输出应该是“1.0 5.0 7.0...etc”,但我得到的是“0.0 0.0 0.0 0.0 52.0”
最佳答案
您遇到的问题是您在循环中创建了一个新数组。你应该把它拿出来初始化。
String[] num = sNums.split(" ");
double[] numbers = new double[num.length]; // The valid place for loop
for (int i = 0; i < num.length; ++i)
{
numbers[i] = Double.valueOf(num[i]);
}
for(double item: numbers) {
out.print(item + " ");
}
关于java - 在java中解析字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20044373/