阅读Double值

时间:2014-01-28 00:04:54

标签: java arraylist

我想读取存储在文本文件中的double值并将这些值存储在数组中。输入文件在每行中都有一个值。以下是我的代码。

File file=new File("val.txt");
 List<Double> value = new ArrayList<Double>();
     Scanner input = new Scanner(file);
     while(input.hasNext()){
       value.add(scanner.nextDouble());}

但是我得到了Nouchelement例外。代码有什么问题?如何从文件中读取双值并存储它?

1 个答案:

答案 0 :(得分:3)

好像你正在使用2台扫描仪。如果它有值,你正在检查一个,并且你试图使用另一个扫描仪添加这个值。

仅使用input

所以改成它:

File file=new File("val.txt");
List<Double> value = new ArrayList<Double>();
Scanner input = new Scanner(file);
while(input.hasNextDouble()){
   value.add(input.nextDouble());
}

请注意Scanner使用您的默认语言环境(如果您没有指定)。因此,如果此区域设置将小数分隔为,,则您不会向List添加任何内容。因此,请确保使用一个用小数点分隔小数。

Scanner input = new Scanner(file).useLocale(Locale.UK);