我不知道怎么做但经过一些调整后,删除工作有效,但即便如此,当我输入正确的用户名和密码时,我仍然可以访问该帐户。
我在Swing窗口中制作银行业务程序,其中用户名和密码存储在同一ArrayList<String>
中。我有一个JButton,如果用户名和密码正确,点击后会删除帐户。但每当我单击Jbutton时,它都会显示错误消息,即使用户名和密码正确也是如此。用户名存储在偶数(2,4 ...)位置,密码存储在ArrayList<String>
的奇数(3,5 ...)位置。这是一个代码:
//In class implementing ActionListener
JButton del = new JButton("Delete Account");
JLabel er = new JLabel("")
// Username:
JTextArea ustxt = new JTextArea(1,20);
//Password:
JTextArea pwtxt = new JTextArea(1,20);
ArrayList<String> user = new ArrayList<String>();
user.add("qzwxecrvtbynumikolp");
user.add("qzwxecrvtbynumikolp");//so that the modulus operator doesn't produce an error
user.add("Rocky");//just for demo
user.add("Monster truck");
// In actionPerformed()
if (a.getSource() == del)
{
if (user.contains(ustxt.getText()) && (user.indexOf(ustxt.getText()) % 2) == 0 && (user.get(user.indexOf(ustxt.getText())+ 1)).equals(pwtxt.getText()))
{
int rem = user.indexOf(ustxt.getText());
user.remove(rem);
user.remove(rem);
er.setText("Account deleted");
}
else
er.setText("Check your username and password!");
}
请不要评论这是一个糟糕的编码,ustxt.getText()
和pwtxt.getText()
可以换成变量,因为它不起作用并破坏程序。