它是学校实验室的一部分,我已经研究过,但我无法找到完成这项任务的任何事情。我正在使用FileReader和BufferedReader从文件中读取行。文件中的数据是名称和年龄,格式如下:
John doe 20
Jane doe 30
等。我已经有了代码,它将采用每一行并进行拆分: split [0] = {" John"," doe"," 20"}
我需要得到" 20"并存储在double [0] = 20;
等双精度数组中它必须是double而不是Double的原因是因为作业中的部分代码已经写好了,我确信我不能只决定更改所有内容并使用Double代替。我怎样才能做到这一点?提前谢谢!
答案 0 :(得分:6)
如您所见,静态方法返回原始double
而不是对象Double
:
public static double parseDouble(String s)
public static void main(String[] args) {
String strNumber = "20";
double myParsedDouble = Double.parseDouble(strNumber);
System.out.println(myParsedDouble);
}
答案 1 :(得分:0)
您希望将其置于for循环中并开始迭代...我只是使用List
来操纵数据,因为我们不知道有多少匹配有(因此,我们不能建立一个数组)。
String[] startingArray; // Whatever you put in here
List<Double> endingList = new ArrayList<Double>();
for (String element : startingArray) {
try {
endingList.add(Double.parseDouble(element));
} catch (NumberFormatException e) {
// do nothing if it doesn't parse
// note that catching exceptions do not have an adverse effect on performance
}
}
// Either, if you want it in a Double[]... or
Double[] endingArray = endingList.toArray(new Double[endingList.size()]);
// If you want a double[], start iterating...
double[] endingArray = new double[endingList.size()];
for (int i = 0; i < endingList.size(); i++) {
endingArray[0] = endingList.get(0);
}