为对象创建参数时使用逗号分隔符 (Java)

Use delimiter for commas while creating parameters for an object (Java)

我有一个代码可以读取输入文件(包含以逗号分隔的参数)并使用这些参数创建一个对象。这是读取输入文本文件并创建参数的 while 循环。例如,代码将创建一个 Student 对象,参数为 (name, grade level, test grade),Name 是一个字符串,而 grade number 和 test grade 是整数值。示例:(John, 12, 95).

scan = new Scanner(inputFile).useDelimiter(",");
while(scan.hasNext()){
    String name = scan.next();
    int gradeLevel = scan.nextInt();
    int testGrade = scan.nextInt();

    Student newStudent = new Student(name,gradeLevel,testGrade);
}

输入的文本文件看起来像这样:

John,12,95
Mary,11,99
Bob,9,87

我遇到的问题是它似乎在尝试读取 testGrade 的参数以及下一行的名称。

它给我这个错误:

Exception in thread "main" java.lang.NumberFormatException: For input string: "95 Mary"

当使用分隔符时有空格而不是逗号时,我该如何做到不合并两个参数?

也许您应该传递一个表示逗号或 eol 作为分隔符的正则表达式:

scan = new Scanner(inputFile).useDelimiter(",|$");