只产生一次错误输出

produce error output for only once

我最近开始学习 java,我打算创建一个从文本文件验证的登录系统。该图像显示了我打算如何处理登录验证。 Intending flow of operation

BufferedReader bra = new BufferedReader(new FileReader("C:\Users\Owner\Desktop\Admin.txt"));
int num = typebox.getSelectedIndex();
switch (num)
{
   case 0: while ((reader = bra.readLine()) != null)
   {
       String[] split0 = reader.split("\s");
       User admin = new User();
       admin.username = nametextbox.getText();
       admin.password = passtextbox.getText();

       \login verification               
       if (admin.username.equals(split0[0]) && admin.password.equals(split0[1]))
       {
            bra.close();
            A_Selection puff = new A_Selection();
            puff.pack();
            puff.setLocationRelativeTo(null);
            puff.setVisible(true);
       }
       else
       {
            bra.close();
            JOptionPane.showMessageDialog(null, "Error, wrong username or password!", "Error", JOptionPane.ERROR_MESSAGE);
        } 
   }
}
break;

但是,它往往会重复错误部分,直到文本文件中的行数结束。有没有办法让系统在读取整个文件后只产生一次错误输出?

break 应该可以。

...
else
{
   bra.close();
   JOptionPane.showMessageDialog(null, "Error, wrong username or password!", "Error", JOptionPane.ERROR_MESSAGE);
   break;
} 
...

已解决: 在声明另一个变量和 if 条件的帮助下,我已经弄明白了。

int flag = 0; 
if (admin.username.equals(split0[0] && admin.password.equals(split0[1]))
{
    flag = 1;
    if (flag == 1)
    {
        A_Selection puff = new A_Selection();
        puff.pack();
        puff.setLocationRelativeTo(null);
        puff.setVisible(true);
    }
}
\outside while loop
if (flag == 0)
{
     JOptionPane.showMessageDialog(null, "Error");
}