Java 如何正确执行密码的while循环
我正在尝试创建一个register Jframe窗口来收集用户名和密码,现在我正在尝试创建一个条件,如果密码不等于“确认密码”字段,则让用户键入一个匹配的新密码。我不断收到关于Jpane错误消息的垃圾邮件,在我输入错误的密码后,它不会消失 我试过for循环、Do while循环和regular while循环。我试过一些东西 这只是创建JLabelJava 如何正确执行密码的while循环,java,arrays,jframe,store,do-while,Java,Arrays,Jframe,Store,Do While,我正在尝试创建一个register Jframe窗口来收集用户名和密码,现在我正在尝试创建一个条件,如果密码不等于“确认密码”字段,则让用户键入一个匹配的新密码。我不断收到关于Jpane错误消息的垃圾邮件,在我输入错误的密码后,它不会消失 我试过for循环、Do while循环和regular while循环。我试过一些东西 这只是创建JLabel JLabel Register = new JLabel("Register"); 下一部分是使Jlabel与用户交互 Register.
JLabel Register = new JLabel("Register");
下一部分是使Jlabel与用户交互
Register.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
Register.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
单击Register时,会发生一些事情
这是我为跟踪用户输入而创建的4个变量
String password = passwordField.getText();
String confirmpass = passwordField_1.getText();
String name = userName.getText();
String email = createEmail.getText();
在这里,我启动do-while循环来确认密码是否匹配,然后我会让它重复
do {
JOptionPane.showMessageDialog(null, "Passwords do not match", "Login Error", JOptionPane.ERROR_MESSAGE);
password = "";
confirmpass = "";
}while(password == confirmpass);
dispose();
//System.out.println("Testing the Register Button lol or label " + name);
}
我希望能够有一个条件,确保密码匹配,然后退出屏幕。如果可能的话,还可以向我展示一种将用户输入从JFrame存储到数组中的方法。用if语句替换do-while循环
//inside onclick function
if(!confirm_pass.equals(password)){
JOptionPane.showMessageDialog(null, "Passwords do not match", "Login Error",
JOptionPane.ERROR_MESSAGE);
return; //the return keyword will stop the method to go further.
}
dispose();
如果密码不同,则do while循环将毫无意义,
因为它们只会无休止地循环。在比较字符串时,也应该使用equals()
方法,而不是使用=