从Jxt中的txt文件到2d双数组

时间:2016-03-07 11:17:18

标签: java arrays file multidimensional-array

我在JAVA中处理我的项目,我的.txt文件包含这样的数据:

  

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文件并将其转换为:

  

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

1 个答案:

答案 0 :(得分: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

第一行,依此类推。