上述代码输入两次错误的确认密码,就直接向下运行,保存第一次输入的密码是什么问题
时间: 2024-02-12 07:04:09 浏览: 114
jquery判断输入密码两次是否相等
如果用户两次输入的密码不一致,函数会输出提示信息,但是不会保存第一次输入的密码。这可能会导致一些问题,例如用户可能会误认为第一次输入的密码已经被保存下来,而实际上并没有。因此,如果需要保存第一次输入的密码,可以在函数中添加相应的代码来实现。例如,可以定义一个局部变量来保存第一次输入的密码,然后在函数返回之前将其返回。具体实现可以参考下面的代码:
```java
public static String getPassword(Scanner sc) {
System.out.print("请输入密码:");
return sc.nextLine();
}
public static boolean okPasswordRegex(String password, String okPassword) {
boolean flag = password.equals(okPassword);
if (!flag) {
System.out.println("您输入的两次密码不一致!请重新输入!");
}
return flag;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String password = getPassword(sc);
String okPassword;
do {
okPassword = getPassword(sc);
} while (!okPasswordRegex(password, okPassword));
System.out.println("密码设置成功!");
}
```
在这个例子中,我们定义了一个名为`getPassword`的函数,用来获取用户输入的密码。在`main`函数中,我们首先调用`getPassword`函数获取第一次输入的密码,然后使用一个`do-while`循环来获取用户输入的第二次密码,并调用`okPasswordRegex`函数来判断两次密码是否一致。如果两次密码不一致,`okPasswordRegex`函数会输出提示信息,并要求用户重新输入第二次密码。如果两次密码一致,循环结束,程序输出密码设置成功的提示信息。在这个过程中,我们使用了一个名为`password`的局部变量来保存第一次输入的密码,以便在调用`okPasswordRegex`函数时使用。
阅读全文