我有一个GUI要求一个单词,当找不到单词时,它返回找不到dictionary.txt中的每个单词。我假设某种数组将用于增加每个错误,但我不知道如何编写类似的东西。我可以看到为什么它会为每个不正确的字符串返回“Nothing matches”。有什么建议?
File file = new File("dictionary.txt");
Scanner inputFile = new Scanner (file);
inputFile.useDelimiter("\n");
String wordCheck = textField.getText();
while(inputFile.hasNext()) {
String dictWord = inputFile.next();
if (wordCheck.equals(dictWord)) {
JOptionPane.showMessageDialog(null, "Pie for you!");
break;
} else {
System.out.println("Nothing matches");
}
}
答案 0 :(得分:1)
将wordCheck.equals(dictWord)
的结果存储在布尔变量中,并确定在读取整个文件后要显示的内容,然后删除break;
satement。
boolea isValid = false;
while(inputFile.hasNext()) {
...
if (wordCheck.equals(dictWord)) {
isValid = true;
}
}
if (isValid)) {
JOptionPane.showMessageDialog(null, "Pie for you!");
} else {
System.out.println("Nothing matches");
}
答案 1 :(得分:0)
您可以在while循环之前添加boolean found = false;
,如果找到了某些内容(而不是显示该消息),则在循环内设置found = true;
。然后根据found
变量的状态显示循环后的消息。