当前位置: 首页 > 知识库问答 >
问题:

noSuChelementException:找不到行

黄扬
2023-03-14

我把我的文件保存在。java文件旁边。

运行:
名称:Koen
得分:44
线程“main”Java.util.nosuchelementException:未找到行
名称:Kevin
得分:55
在Java.util.scanner.nextline(Scanner.Java:1585)
在tetris.fileio.loadHighscores(fileio.Java:41)
在tetris.fileio.getlinescores(fileio.Java:28)

package tetris;

import java.io.File;
import java.io.InputStream;
import java.io.Writer;
import java.util.Scanner;

public class FileIO   {
    private File file;
    private Scanner filescScanner, lineScanner;
    private Writer fileWriter, lineWriter;
    private String[][] data;

    public FileIO () {
        String[][] data = new String[100][1];
    }
    public String[][] getLineScores(){
        return this.loadHighscores(this.getClass().getResourceAsStream("LineHighscores.txt"));
    }
    public String[][] getTimeScores(){
        return this.loadHighscores(this.getClass().getResourceAsStream("TimeHighscores.txt"));
    }

    public String[][] loadHighscores( InputStream resourceStream){

        int x=0;
        String test = "";

        filescScanner = new Scanner(resourceStream);

        while((test=filescScanner.nextLine())!=null) {

            lineScanner = new Scanner(test);
            lineScanner.useDelimiter("-/-");
            System.out.println("name : "+lineScanner.next());
            System.out.println("score : " +lineScanner.next());

            x++;
        }
        lineScanner.close();
        filescScanner.close();
        return data;    
    }

    public static void main(String[] args){
        FileIO file = new FileIO();
        System.out.println(file.getLineScores());
    }
}

共有1个答案

白驰
2023-03-14

当您调用nextLine()时:

 while((test=filescScanner.nextLine())!=null)

它抛出一个异常,指示扫描仪没有更多的输入行。因此,它永远不会返回null。

尝试使用hasnextline()检查是否有下一行。

while(filescScanner.hasNextLine())
{
    test=filescScanner.nextline();
    ...
}

HasNextline

公共布尔hasNextLine()

返回:true当且仅当此扫描器有另一行输入(源)

 类似资料:
  • 我有一个输入框,就像我在这里用来输入我的问题,它的HTML是 每次,我都会尝试输入一些文本 我明白错误了-

  • 对不起,我的问题,但我是一个初学者。请你能支持与扫描仪相关的关心。 “背景”:我写了一些研究扫描仪的代码: 我有一个例外:找不到行。这就是我在输出中得到的结果: 任务:运行失败今天是哪一天?线程“main”java.util.NosuchelementException异常:在java.base/java.util.Scanner.NextLine(Scanner.java:1651)和demoo

  • 我正在尝试使用页面xpath查找并单击元素。当我单击特定元素并使用 firebug 检查它时,即使 firebug 能够同时找到相对路径和绝对路径,路径也从不起作用,并且似乎找不到? 这是火虫识别的相对路径

  • 不是重温老话题,但我正在做一个课程的项目,我在一个特定的片段中反复遇到这个错误,在那里我有相同格式的各种其他代码,它们没有给我带来任何痛苦。 所以,如上所述,在那输入扫描仪之前,我对任何事情都没有遇到任何问题。但是在我提供该行的输入之前,Eclipse抛出了错误,全文如下: 在线程“main”java.util中输入cruise的出发港:Exception。NoSuchElementExcepti

  • 我想使用csv和txt文件批量创建一些批处理脚本,运行时出现错误。我对代码进行了注释,所以您应该能够从这些注释中确定我的意图。我只是在这里写得更多,因为机器人要求我在发帖之前继续写更多的解释。一旦这个红色文本框消失,我将停止写作,你可以停止阅读。我真的希望你已经停止阅读了,因为这肯定会让我感到厌烦。我开始怀疑我是否应该开始一个新的段落。让我们看看这是否有帮助。 我有一种感觉,也许使用不同的语言会更

  • 我在https://www.thehuxley.com上提交答案时遇到了问题。当我在Eclipse上运行代码时,一切正常,但在Huxley上,我得到的是: 下面是代码本身: 补充一下,在我注释为“Watch OUT THIS line”的行中,如果我删除该行,Scanner忽略nextInt()e跳转到NextLine(),导致以下错误: 预期的输入是: 和输出: