2016-03-07 36 views
1

我的工作我的Java项目,我有.txt包含这样的数据文件:从TXT文件2D双阵列中的JAVA

3.4413 44.5444 22.793
33.3321 222.1333 44.7785
23.3001 31.1333 4.7785
77.9999 8.0001 -1.3213 3.2311

凭什么我读txt文件并将其转换为:

双[0] [0] = {} 3.4413,44.5444,22.793
双[0] [1] = {33.3321 222.1333 44.7785}
双[1] [0] = {23.3001 31.1333 4.7785}
双[1] [1] = {77.9999 8.0001 -1.3213 3.2311}

+0

这对我来说看起来像3D。 – vakio

回答

0

如果你相信你会在每行中只得到3个实体,那么你可以做这样的事情:

public static void main (String[] args) 
{ 
    double[][] arr = new double[10][3]; 
    int ptr = 0; 
    Scanner in = new Scanner(System.in); 

    while(in.hasNext()) { 
     arr[ptr][0] = in.nextDouble(); 
     arr[ptr][1] = in.hasNext() ? in.nextDouble() : 0d; 
     arr[ptr++][2] = in.hasNext() ? in.nextDouble() : 0d; 
    } 
} 

请注意,在这里我已经使用扫描仪,并正在从System.in。您可以将其替换为从文件中获取输入。

考虑到上述输入,这将产生以下输出:

arr[0][0] -> 3.4413 
arr[0][1] -> 44.5444 
arr[0][2] -> 22.793 

对于第一行等等。