Мне нужно получить цикл while для чтения 6 значений int при каждом повторении и сохранить его в локальной переменной. Я попытался что-то вроде кода ниже, который вызывает ошибку. Я также попытался изменить размер массива, но он все еще не работает.Проблема с циклом while и хранением данных
String fileName = "Data.txt";
int [] fill = new int [6];
try{
Scanner fileScan = new Scanner(new File(fileName));
int i = 0;
while (fileScan.hasNextInt()){
Scanner line = new Scanner(fileScan.nextLine());
i++;
line.next();
fill[i] = line.nextInt();
System.out.println(fileScan.nextInt());
}
}catch (FileNotFoundException e){
System.out.println("File not found. Check file name and location.");
System.exit(1);
}
}
Ошибка
> run FileApp
0
0
1
java.lang.ArrayIndexOutOfBoundsException: 4
at FilePanel.<init>(FilePanel.java:35)
at FileApp.main(FileApp.java:14)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at edu.rice.cs.drjava.model.compiler.JavacCompiler.runCommand(JavacCompiler.java:271)
>
Может кто-то помочь мне исправить это и объяснить мне, почему?
Также data.txt содержит
1 1 20 30 40 40
0 2 80 80 50 50
0 3 150 200 10 80
1 1 100 100 10 10
спасибо, что это помогает много – M1N33