Имеется файл, который представляет собой список учеников, где в первой строке указано количество учеников в классе, а в следующих строках мне указаны их имя, удостоверение личности и возраст, например:
5
Mary, 1010, 15
Ben, 1119, 16
Sam, 2278, 15
Alex, 3245, 15
Mia, 4448, 16
Я должен создать массив студенческих объектов, но я получаю «ошибку несоответствия», когда пытаюсь скомпилировать свой код.
Я попробовал следующее, но я не уверен, что мой код неправильный.
public class Classroom_Runner{
public static void main(String[] args)throws Exception{
File roster = new File("info.txt");
Scanner scanFile = new Scanner(roster);
Scanner scanInput = new Scanner(System.in);
//roster.split(", ");
//String insideFile = "";
int sizeClass = 0;
Classroom[] Students = new Classroom[0];
while(scanFile.hasNext()){
sizeClass =scanFile.nextInt();
String name = scanFile.next(); //<-- This would be line 35
int ID = scanFile.nextInt();
int age = scanFile.nextInt();
Classroom student = new Classroom( name, age, ID);
}
for(int i = 0; i<Students.length;i++){
System.out.println(Students[i]);}
}
}
Фактический результат:
Exception in thread "main" java.util.InputMismatchException
at Classroom_Runner.main(Classroom_Runner.java:35)
но ожидаемый результат должен быть:
Mary, 1010, 15
Ben, 1119, 16
Sam, 2278, 15
Alex, 3245, 15
Mia, 4448, 16