如何正确地为密码做一个 while 循环
How to correctly do a while loop for passwords
我正在尝试创建一个收集用户名和密码的注册 Jframe window 我正在尝试创建一个条件,如果密码不等于确认密码字段让用户输入一个新的通过匹配的代码。我不断收到 Jpane 错误消息的垃圾邮件,并且在我输入错误的密码后它不会消失。
我已经尝试过 for 循环、Do while 循环和常规 while 循环。我尝试了一些东西
这只是创建 JLabel
JLabel Register = new JLabel("Register");
下一部分是使 Jlabel 与用户交互
Register.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
Register.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
点击“注册”后会发生一些事情。
我创建了 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 的用户输入存储到数组中的方法。
将您的 do-while 循环替换为 if 语句
//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()
方法,而不是使用 ==
.
我正在尝试创建一个收集用户名和密码的注册 Jframe window 我正在尝试创建一个条件,如果密码不等于确认密码字段让用户输入一个新的通过匹配的代码。我不断收到 Jpane 错误消息的垃圾邮件,并且在我输入错误的密码后它不会消失。
我已经尝试过 for 循环、Do while 循环和常规 while 循环。我尝试了一些东西
这只是创建 JLabel
JLabel Register = new JLabel("Register");
下一部分是使 Jlabel 与用户交互
Register.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
Register.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
点击“注册”后会发生一些事情。
我创建了 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 的用户输入存储到数组中的方法。
将您的 do-while 循环替换为 if 语句
//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()
方法,而不是使用 ==
.