当尝试扫描文本文件,然后扫描文本文件中的每一行以创建对象时,我会得到下面的错误。知道我该怎么解决这个问题吗?
错误:java.util.NoSuchElementException at java.util.Scanner.throwFor(Scanner.java:862) at java.util.Scanner.next(Scanner.java:1371) at MyZoo.readDataFromFile(MyZoo.java:111)
while(scanner.hasNextLine()){
lineOfInput = scanner.nextLine();
if(lineOfInput.startsWith("#")){
} else {
String animalType, species, name;
Scanner newScanner = new Scanner(lineOfInput).useDelimiter("\\s*,\\s*");
animalType = newScanner.next();
System.out.println(animalType);
species = newScanner.next();
name = newScanner.nextLine();
}发布于 2016-08-16 12:14:42
就像你在评论中说的
这是一个包含数据行的文本文件,我使用第一台扫描仪在行中读取。然后尝试扫描行中的每个单词,并将它们赋值为变量。在我扫描前3行之后,我希望读取动物类中的其余数据。
您的第二个扫描器使用了一个错误的分隔符,因此您将得到该异常。
试着:
Scanner newScanner = new Scanner(lineOfInput).useDelimiter("\\W");希望这能有所帮助。
发布于 2016-08-16 12:09:53
我认为你可以这样做:
while (scanner.hasNextLine()) {
lineOfInput = scanner.nextLine();
if (lineOfInput.startsWith("#")) {
} else {
String animalType, species, name;
String s[] = lineOfInput.split(" ");
animalType = s[0];
species = s[1];
name = s[2];
}
}https://stackoverflow.com/questions/38974422
复制相似问题