【发布时间】:2016-12-12 03:31:35
【问题描述】:
我有一个代码,它有一个按钮,可以获取文本字段的输入,然后查看 .txt 文件,看看是否有匹配项。唯一的问题是它遍历每一行并检查该行是否匹配,这意味着 if 和 else 语句都会被触发。所以让我们说 .txt 文件有 3 行说 1234 , 5423 , 8543 然后输入将是 1234,然后代码按照 if 语句的预期运行,因为输入匹配,这是应该的。但随后它继续运行,因此它也触发了它不应该触发的 else 语句。
这是我的代码
public static String input = "";
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
String input = jTextField1.getText();
File file =new File("file.txt");
Scanner in = null;
try {
in = new Scanner(file);
while(in.hasNext())
{
String line=in.nextLine();
if(line.contains(input)){
popUp1 pu1 = new popUp1();
pu1.setVisible(true);
} else {
popUp2 pu2 = new popUp2();
pu2.setVisible(true);
}
}
} catch (FileNotFoundException e) {
System.out.println("Error");
}
}
【问题讨论】:
-
当 if 语句发生时你想
breakwhile 循环吗? -
如果不是,请澄清“它不应该是什么”,因为那是你编写代码要做的事情
标签: java file if-statement methods java.util.scanner