为对象创建参数时使用逗号分隔符 (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(",|$");
我有一个代码可以读取输入文件(包含以逗号分隔的参数)并使用这些参数创建一个对象。这是读取输入文本文件并创建参数的 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(",|$");