'Trying to copy data from a file to an array but it gives me error

Hi I am new on programing and I am having a problem I am trying to copy some things from a file to a array and I just want to copy in the position 1,2,3 and 4 from the file. Example copy to the array 11 , G , 0 , 20.

FILE TEXT:
0;11;G;0;200;1
2;10;F;0;300;2
0;12;J;0;100;3

String[][] aa = new String[100][6];
try {
    Scanner x = new Scanner(new File("Turmas.txt"));
    x.useDelimiter("[;\n]");

    for (int i = 0; i < 100; i++) {
        for (int j = 0; j < 6; j++) {
            if (x.hasNext()) {
                aa[i][j] = x.next();
            }
        }
    }
    x.close();
} catch (FileNotFoundException ex) {
    JOptionPane.showMessageDialog(
        null, "An error occurred, try restarting the program!", 
        "ERROR!", JOptionPane.ERROR_MESSAGE
    );
}

String[][] aaa = new String[100][4];
for (int i = 0; i < 100; i++) {
    for (int j = 0; j < 4; j++) {
        if (aa[i][j] == null) {
            System.out.println("null "  + i + "  " + j);
        }
        else {
            if (aa[i][0].equals(String.valueOf(SAVEID))) {
                aaa[i][j]     = aa[i][1];
                aaa[i][j + 1] = aa[i][2];
                aaa[i][j + 2] = aa[i][3];
                aaa[i][j + 3] = aa[i][4];
            }
        }
    }
}
System.out.println(aaa[0][0]);
System.out.println(aaa[0][1]);
System.out.println(aaa[0][2]);
System.out.println(aaa[0][3]);


Solution 1:[1]

This loop:

for(int j=0;j<4;j++)

runs again with a value of j = 1 after it completes the first iteration, so when it gets to the expression aaa[i][j+3] the second index evaluates to 4, which of course is illegal. I'm not sure why you used a for loop there, since you manually increment the index values as you assign the aaa values?

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Don R