2013-04-22 26 views
1

我想读取文本文件并将其插入到2d双精度数组中。我有这个代码,但第一个问题是它不会读取最后一列,第二个问题是它只返回我的文本文件的第一行。例如,如果文本文件是将文本文件插入到2d数组中

1.1,2.1,3.1 
2.1,1.1,4.1 
1.3,3.2,5.1 

它返回:

{1.1 2.1} 

我应该如何解决?

BufferedReader match_dataset = new BufferedReader(new FileReader("test.txt")); 
Scanner src = new Scanner(match_dataset); 
ArrayList<Double> lines = new ArrayList<Double>(); 
src.useDelimiter(","); 

while (src.hasNextDouble()) { 
    lines.add(src.nextDouble()); 
} 
Double[] temp_match = new Double[lines.size()]; 
lines.toArray(temp_match); 
+1

1)对代码块使用一致的逻辑缩进。代码的缩进旨在帮助人们理解程序流程。 2)为了更快地获得更好的帮助,请发布[SSCCE](http://sscce.org/)。 – 2013-04-22 02:12:18

+0

我并不熟悉您正在使用的语法,但您似乎需要在尝试获取数据之前修剪任何多余空格和换行符的行。最后一个元素后面可能跟着一个换行符,其中src.hasNexDouble()失败,因为它在技术上不是双精度值,而是某种字符串值。除此之外,我什么都没有 – 2013-04-22 02:19:51

回答

0

您对双数组的语法错误。应该是两个括号[] []双重后