gpt4 book ai didi

java - 如何验证 int 的前导零?

转载 作者:行者123 更新时间:2023-12-02 05:32:07 25 4
gpt4 key购买 nike

我正在尝试验证输入,以便用户只允许输入具有 9 位数字的 int。我当前的代码处理前导零、任何超过 9 位数字的输入,但如果少于 9 位数字则不处理。

例如,它不应该允许用户输入 int 123。

下面的代码验证数字输入是否大于 9,但不考虑数字小于 9。

public void setSSN(int sSN) {

String temp = "";

do {
temp = String.format ("%09d", sSN);
if(temp.length() != 9) {
sSN = Methods.getInt("Enter an 9 digits");
}
}while(temp.length() != 9);

temp = temp.substring(0,3) + "-" + temp.substring(3,5) + "-" +temp.substring(5,9);
JOptionPane.showMessageDialog(null, temp);
SSN = sSN;
}

如果用户输入的int小于9位。由于 String.format,它将填充其余的插槽并使其成为 9 位数字(我只包含此内容,因此它适用于前导零)。我不知道如何绕过前导零并确保输入恰好是 9 位数字。

测试用例:

输入:123456789输出:123-45-6789

输入:001234567输出:001-23-4567

//下面是我不想要的

输入:12
输出:000-00-0012

最佳答案

那么想要确保有人没有输入“000000123”吗?然后只需执行一个循环将输入解析为数组并检查每个索引的值,并确保索引 0-3 中没有输入重复的数字值(这将覆盖前 4 个索引)

关于java - 如何验证 int 的前导零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56196121/

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