gpt4 book ai didi

java - 跳过 try catch 语句?

转载 作者:行者123 更新时间:2023-12-01 16:52:56 28 4
gpt4 key购买 nike

我正在制作一个 Hangman 游戏,最近实现了一种文件读取方法来随机化单词;但是,在我随机化它读取的行之前测试文件读取器时,我并没有走得太远,并且我的代码似乎跳过了 try catch block ?以下是使用此方法的构造函数中的行:

word = determineWord();

方法如下:

String determineWord() {
String fileName = "HangmanWords.txt";

String line = null;

try {
FileReader fileReader = new FileReader(fileName);

BufferedReader bufferedReader = new BufferedReader(fileReader);

while((line = bufferedReader.readLine()) != null) {
line = bufferedReader.readLine();
}

bufferedReader.close();
}
catch(FileNotFoundException ex) {
System.out.println("Can't open file");
}
catch(IOException ex) {
System.out.println("Error reading file");
}
return line;
}

我收到的错误是 NullPointerException,我相信是因为 line 最初设置为 null,并且 word 在我的程序中不能为 null。

最佳答案

您的 while 循环每次迭代读取 2 行。

while((line = bufferedReader.readLine()) != null) {
line = bufferedReader.readLine();
}

不要在循环体中再次使用 readLine()

String line = null;
while((line = bufferedReader.readLine()) != null) {
// do something about the line
}

关于java - 跳过 try catch 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36461728/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com