扫描仪内的扫描仪错误

当试图扫描一个文本文件,然后扫描文本文件中的每个单独的行来创建一个对象时,我会得到下面的错误。 任何想法如何我可以解决这个问题?

错误: java.util.Scanner.throw上的java.util.NoSuchElementException (MyException.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();
   }

正如你在评论中所说的那样

“这是一个包含数据行的文本文件,我使用第一台扫描仪在行中读取,然后尝试扫描读入的行中的每个单词以将它们分配为变量,在我扫描前3行后,我希望它阅读动物特定课程的其余数据“

你的第二个扫描器使用错误的分隔符,因此你得到了这个异常。

尝试:

Scanner newScanner = new   Scanner(lineOfInput).useDelimiter("W");

希望这可以帮助。


我认为你可以这样做:

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];
    }

}
链接地址: http://www.djcxy.com/p/17219.html

上一篇: Scanner within scanner error

下一篇: Java: scanner compile errors