只产生一次错误输出
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");
}
我最近开始学习 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");
}