-1
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    String a,b;
    a=jTextField1.getText();
    b=Arrays.toString(jPasswordField2.getPassword());
    if (a.equals("sam") && b.equals("hi")) {
        JOptionPane.showMessageDialog(null,"Login");
    }
    else{
        JOptionPane.showMessageDialog(null,"Error");
    }
} 

只有 else 部分被执行,当使用“或”运算符时,如果部分有效。似乎在“和”条件下有错误。

4

2 回答 2

0

getpassword 方法将密码返回到括号中。返回将是这样的:[hi]。所以你必须使用删除括号。使用像打击这样的代码:

    b=b.substring(1,b.length()-1);

此代码将删除密码字符串中的括号。

于 2017-03-15T12:02:50.507 回答
0

Arrays.toString(new String[]{"hi"})返回“[hi]”。

所以你应该改变你的iftoif (a.equals("sam") && b.equals("[hi]"))或你的bto的价值b=jPasswordField2.getPassword()[0];

于 2017-03-15T09:49:03.780 回答