Ich versuche, die folgende Methode zu erstellen, um die Datei "studentmarks.txt" zu lesen. Ich kann jedoch nicht erreichen, dass Studentenmarkierungen als Int wie 65 60 52 gelesen und in einem Array gespeichert werden. Es wird weiterhin der Fehler "java.util.InputMismatchException null" ausgegeben. Wie würde ich das beheben, ohne das Format der Datei "studentmarks.txt" zu ändern? Vielen Dank!Java-Scanner-Klasse speichert mehrere int-Werte aus Datendatei in ein Array
public void readMarksData(String fileName) throws FileNotFoundException
{
File dataFile = new File(fileName);
Scanner scanner = new Scanner(dataFile);
String nameOfCohort = scanner.nextLine(); //1
System.out.println(nameOfCohort);
int noOfMarks = scanner.nextInt(); //2
System.out.println(noOfMarks);
scanner.nextLine();
while(scanner.hasNext())
{
scanner.useDelimiter("[,\n]");
String name = scanner.next(); //3
System.out.println(name);
// int marks[] = new int[3];
// for(int i = 0 ; i <= 3 ; i++)
// {
// marks[i] = scanner.nextInt();
// }
int marks[] = new int[100];
int markOne = scanner.nextInt(); //4 java.util.InputMismatchException null
marks = new int[markOne];
System.out.println(markOne);
scanner.nextLine();
int markTwo = scanner.nextInt(); //5
marks = new int[markTwo];
scanner.nextLine();
int markThree = scanner.nextInt(); //6
marks = new int[markThree];
scanner.nextLine();
//
//System.out.println(markOne + " " + markTwo + " " + markThree);
}
scanner.close();
}
studentmarks.txt:
CS1 Group 2
3
Andreas Antoniades
65 85 77
Charlotte Brocklebank
87 93 81
suzanne dawson
0 55 42
StudentRecord Klasse:
public class StudentRecord
{
private String name;
private String noOfMarks;
private int[] marks;
public StudentRecord(String name)
{
marks = new int[24];
this.name = name;
}
Sie sollten das Problem erklären, bevor Sie den Code so zeigen, dass es für jemanden einfacher ist zu verstehen, was Ihre Anforderung ist und was dann Ihr Problem ist. –