简体   繁体   中英

get 2D array from text file

I'm trying to get the 2D array from the text file. So far I accessed the file and got all the numbers in the file, but all these numbers are string so I used split() and then convert it to double. How can convert this to double 2D array?

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

This is what I have so far:

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) );




     } 

}

Change your for to print inline and then add a println after you've printed all the numbers:

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

System.out.println()

To store the numbers you can do the following:

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;
 } 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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