更改密码 if, else 函数

我正在编写一段用于更改密码的代码片段,但我无法让 if, else 函数正常工作。我可以让它检查密码是否匹配或密码是否为空,但我不知道如何让它检查这两个约束。请帮忙


    if (!Arrays.equals(p1.getPassword(), p2.getPassword())) {

        JOptionPane.showMessageDialog(null, "Passwords do not match.", "Woops", JOptionPane.ERROR_MESSAGE);

    }

    else if (p1 != null && p2 != null) {    

        JOptionPane.showMessageDialog(null, "Passwords fields can not be empty.", "Woops", JOptionPane.ERROR_MESSAGE);

    }

    else {

        JOptionPane.showMessageDialog(null, "Registered Successfully", "Login Warning", JOptionPane.WARNING_MESSAGE);

    }


智慧大石
浏览 88回答 2
2回答

郎朗坤

对于您想要完成的任务,我建议首先检查密码字段是否为空,如果不是,请检查它们是否不匹配,如果匹配,则显示成功注册警报。if (p1.getPassword().length == 0 || p2.getPassword().length == 0){                     JOptionPane.showMessageDialog(null, "Passwords fields can not be empty.", "Woops", JOptionPane.ERROR_MESSAGE);}else if (!Arrays.equals(p1.getPassword(), p2.getPassword())) {    JOptionPane.showMessageDialog(null, "Passwords do not match.", "Woops", JOptionPane.ERROR_MESSAGE);}else {        JOptionPane.showMessageDialog(null, "Registered Successfully", "Login Warning", JOptionPane.WARNING_MESSAGE);}

达令说

我认为你没有使用 if - else 如果正确,我的意思是,你想检查,首先两个密码 XX.getPassword() 是否相同,你还想检查这些密码是否不为空,所以我认为你应该将 null 检查作为第二个条件而不是 else(第一个条件不成立时的路径)。像这样的东西:if (Arrays.equals(p1.getPassword(), p2.getPassword())) {if (p1 != null && p2 != null){                     JOptionPane.showMessageDialog(null, "Registered Successfully", "Login Warning", JOptionPane.WARNING_MESSAGE);}else{    JOptionPane.showMessageDialog(null, "Passwords do not match or some. Or one of them is blank", "Woops", JOptionPane.ERROR_MESSAGE);}}else {    JOptionPane.showMessageDialog(null, "Something were wroing.", "Woops", JOptionPane.ERROR_MESSAGE);}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java