如何解决为什么我的 while 循环无法识别整数的条件并进行无限循环? Java while 循环“验证银行密码”
我尝试输入与 validPin 变量相同的 int,但即使条件已经为真,它也会产生无限循环。另外,我尝试将 validPin 更改为 12345 并且它起作用了,但是如果 validPin 是 002200,则它不起作用。为什么?
public void main() {
Scanner in = new Scanner(System.in);
int validPin = 002200;
System.out.print("Enter PIN to access:");
int pin = in.nextInt();
while (pin != validPin) {
System.out.print("Invalid PIN,Try again:");
pin = in.nextInt();
}
System.out.println("You have entered the correct PIN,now you have acces for your account!");
}
}
解决方法
在Java源代码中,002200是十进制值1152,对于nextInt,002200是十进制值2200。
(这是 C 的令人讨厌的回归,本不应该在 Java 中采用,但我们坚持使用它)。
阅读 Java 源代码中的八进制常量 - 任何教程都应该有这些信息。
此外,如果您要求用户实际键入那些前导零,则最好使用字符串而不是整数。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。