好吧,我以前从来没有遇到过这个问题,我觉得很奇怪。我正在尝试从该患者分类程序的文件中读取输入。对这些方法的前三个调用有效,但是当我调用 fileRead.nextInt() 时它会爆炸并给我一个 InputMismatchException。我正在阅读的行有点像这样:http ://gyazo.com/74c0a9381479a12bb4804d714901b41c我很确定我使用的分隔符是正确的。如果我将强制转换为 char 并尝试将其作为 int 进行,这并不重要,它只是行不通。为什么?我已经完成了一个与这个类似的程序,并且 fileRead.next() 三次(以获得三个标记)完美地工作。
void loadPatientData() throws FileNotFoundException
{
linkHeads();
Patient person = null;
Scanner fileRead = makeAFile(patient);
fileRead.useDelimiter(";|\n");
while (fileRead.hasNext())
{
//person = new Patient(fileRead.next(), fileRead.nextBoolean(), fileRead.nextBoolean(), (char)fileRead.nextInt());
String name = fileRead.next();
boolean bob = fileRead.nextBoolean();
boolean joe = fileRead.nextBoolean();
int queue = fileRead.nextInt(); //hell breaks loose
//addPatientData(person);
}
}