gpt4 book ai didi

java - While 循环未捕获(Java)

转载 作者:行者123 更新时间:2023-12-02 11:42:54 24 4
gpt4 key购买 nike

见标题。当我输入 PIN 码 02020 或任何以 0 开头的 5 位数字时,我会得到以下信息:

PIN 2020 accepted!

我的代码应该用 while 循环捕获这个并再次请求 pin。为什么不是?

代码:

import java.util.Scanner;

public class Main {
public static void main(String[] args) {
System.out.println("Enter 4 Digit 1111PIN: ");
Scanner keyboard = new Scanner(System.in);
int pin = keyboard.nextInt();
int lengththing = String.valueOf(pin).length();
while(lengththing < 4 || lengththing > 4) {
System.out.println("Incorrect pin. Re-enter PIN: ");
pin = keyboard.nextInt();
lengththing = String.valueOf(pin).length();
}
System.out.println("PIN " + pin + " accepted! Welcome retr0_err!");
//Joke username
}
}

提前致谢!

最佳答案

我认为已经确定整数数据类型不能包含前导零,并且应该使用字符串。但是,如果您想知道为什么会这样,那是因为 Java 有特殊的代码来接受其他格式的整数(例如十六进制、八进制或二进制),并且这些代码添加了 0b 或类似的代码号码前面的代码。因此,java 会锁定整数数据类型上的任何前导零,除非它们与数字格式代码匹配。

关于java - While 循环未捕获(Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48413028/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com