java - 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;
}
}
解决方案
我没有足够的“声誉点”来提供评论..但是很好奇您是否能够在 if 语句中删除scanner.next() 是否可以解决问题。
我通过将结果设置为 false 并让它运行来尝试它。
if (result == false) {
System.out.println("password email do not match");
//scanner.next();
} else {
System.out.println("success");
b = false;
}
推荐阅读
- python-3.x - 运行 .mat 时出现 octvae 错误“嵌套函数未在此上下文中实现”
- sql - BigQuery 在使用 LAST_VALUE() OVER() 时超出查询执行期间的资源
- html - 带有孟加拉数值的html有序列表
- compression - 如何从 VVC 压缩日志 VTM 中提取编码信息?
- c - 为什么在尝试比较两个字符串时会出现分段错误?
- java - javax pathparam 被忽略
- python - 正则表达式将字符映射到该字符的函数
- python-3.x - 如何决定是在函数内部使用返回还是普通变量操作?
- azure - 无法删除 Azure 中的公共 IP 地址
- scala - Scala AWS Lambda 代码中的 Gzip 压缩格式