【发布时间】:2016-03-04 21:43:38
【问题描述】:
我有一个字符串数组。用户(希望)将用 {"word", "word", ...} 填充它,然后再填充一些双精度值/值。我需要在前两个单词之后获取所有这些值,将它们解析为双精度值,然后将它们添加到双精度数组中。例如,如果字符串数组是 {"add", "key", "2", "4", "5", "1"},我的新双精度数组将返回 {1, 2, 4, 5, 1 }。这是一个代码 sn-p,让我知道你能用它做什么。作为参考,getOption() 是返回字符串数组的方法。谢谢!
public double[] getValues(){
double values[] = new double[getOption().length - 2]; //first two values cannot be parsed to double
for (int i = 2; i < getOption().length; i++){
double valueDouble;
valueDouble = Double.parseDouble(getOption()[i].trim());
values[i] = valueDouble;
}
return values;
}
我正在尝试使用 for 循环来提取一个值 (getOption()[i]),将其解析为双精度值,将其添加到值数组中,然后重新开始循环,直到字符串数组结束 ( getOption()) 已到达。
编辑:忘了提及我的问题:它什么也不返回,并在几秒钟内抛出 ArrayOutOfBoundsException 1 。
【问题讨论】:
-
你有什么问题?
-
添加了一个编辑:它抛出一个 arrayoutofboundsexception 1
-
values[i] = valueDouble;应该是values[i-2] = valueDouble;
标签: java arrays string parsing for-loop