首页 > 解决方案 > Java while循环不重复

问题描述

我正在编写这段代码,用户输入用户名和密码,然后我验证数据库中的条目。我的代码的问题是,当输入错误时,它不会返回并从 while 循环重复数据输入过程。我的代码如下。如果有人可以帮我解决它。先感谢您。

boolean b = true;
while (b == true) {
    System.out.println("enter username");
    String username = scanner.next();
    System.out.println("enter password");
    String password= scanner.next();
    boolean result = userDao.validate(username, password);

    if (result == false) {
        System.out.println("password email do not match");
        scanner.next();
    } else {
        System.out.println("success");
        b = false;
    }
}

标签: javaloopsvalidationwhile-loop

解决方案


我没有足够的“声誉点”来提供评论..但是很好奇您是否能够在 if 语句中删除scanner.next() 是否可以解决问题。

我通过将结果设置为 false 并让它运行来尝试它。

if (result == false) {
            System.out.println("password email do not match");
            //scanner.next();

        } else {
            System.out.println("success");
            b = false;
        }

推荐阅读