Rod
Rae
Bryan
Shiroe
Ric
Kirito
Asuna
Elsa
Akutabe
Shino
我将该列表保存在一个文本文件中。如果我要输入 Rod,它应该说“存在”,如果我输入一个不在列表中的名字,它应该说“不存在”。但是我的代码发生的事情是它读取文件每行,如果它与字符串行不匹配则打印“不存在”。 因此,如果我输入一个在 txt 文件中不存在的名称,它会打印 10 行“不存在”。
下面是我的代码:
Scanner in = new Scanner(System.in);
out.print("Enter name: ");
String name = in.nextLine();
BufferedReader br = new BufferedReader(new FileReader("name.txt"));
String line;
while ((line = br.readLine()) != null) {
if (line.contains(name)) {
out.println("Exists");
break;
} else {
out.println("Does not exist");
}
}
br.close();
输出的示例是:
名字 = 桐人
Does not exist
Does not exist
Does not exist
Does not exist
Exists
为什么我的程序在找到完全匹配之前打印了这么多不存在
?
最佳答案
使用一个boolean
来记住你是否找到了一个匹配项,并且只有在检查了每个项目之后并且只有当你没有找到一个匹配项时才显示“不存在”。
关于Java从文本(txt)文件中读取字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28923914/