繁体   English   中英

从文本文件中获取二维数组

[英]get 2D array from text file

我正在尝试从文本文件中获取二维数组。 到目前为止,我访问了该文件并获得了文件中的所有数字,但所有这些数字都是字符串,所以我使用split()然后将其转换为双精度。 如何将其转换为双二维数组?

1.65 4.50 2.36 7.45 3.44 6.23

2.22 -3.24 -1.66 -5.48 3.46

4.23 2.29 5.29

2.76 3.76 4.29 5.48 3.43

3.38 3.65 3.76

2.46 3.34 2.38 8.26 5.34

这是我到目前为止所拥有的:

public static void main(String[] a) throws FileNotFoundException {

     File file =  new File("district3.txt");

     Scanner scan = new Scanner(file); 
     String b; 
     String[] c;

     int r = 6;

     double[][]arr = new double[r][];


     while(scan.hasNextLine()) {
        //get number as String
        b = scan.nextLine();

        //split them 
         c = b.split(" ");

         for(String i:c)
            System.out.println(Double.parseDouble(i) );




     } 

}

将您的 for 更改for内联print ,然后在打印所有数字后添加println

for(String i:c)
            System.out.print(i + " ");

System.out.println()

要存储数字,您可以执行以下操作:

double[][]arr = new double[r][];

int i = 0;
while(scan.hasNextLine()) {

    //get number as String
    b = scan.nextLine();

    //split them 
    c = b.split(" ");
    arr[i] = new double[c.length];
    for(int j = 0; j < c.length; ++j) {
        arr[i][j] = Double.parseDouble(c[j]);
        // Display them if needed
        System.out.print(c[j] + " ");
    }
    System.out.println();
    ++i;
 } 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM