gpt4 book ai didi

Java - nextInt() 大小限制

转载 作者:行者123 更新时间:2023-11-29 07:47:04 28 4
gpt4 key购买 nike

我通过输入 Scanner class 请求电话号码,我只强制输入号码,但我可能会出错。我需要的是一串整数,而不是一个整数并且比一个整数的大小容量更大的东西。最终,它的长度需要是 7 个整数或 10 个整数,不能介于两者之间或更多或更少,但当然是所有数字而不是字母

System.out.println("What is the  phone number (digits only)?: ");
while (!Main.scan.hasNextInt())
{
Main.scan.next();
System.out.println("What is the phone number (digits only)?: ");
}

int phone_number = Main.scan.nextInt();

Clearfication string of ints - 不是指 ints 数组而是一系列独立的 ints 但当然如果你分配为一个 ints,它无法分辨差异所以你必须使用 long。这就是我要引用的事实,我的电话号码是一系列整数而不是一个整数,所以原始类型对我来说是一半正确一半错误。

解决方案:感谢 Braj !!

    String numbers = Main.scan.next();
long phone_number = 0 ;

while (!numbers.matches("(\\d{7}|\\d{10})$"))
{


System.out.println("What is the patient's phone number (digits only)?: ");
numbers = Main.scan.next();
}

phone_number = Long.valueOf(numbers);

最佳答案

电话号码不是整数:987-555-1212 不代表数字九十亿、八亿七千五百万、五十五万一千二百二。这只是一串数字。

电话号码也可以很长(很多位),比如分机号码和特殊拨号代码,甚至可以包含“#”和“*”等符号。

我会将电话号码存储为字符串,并使用代码检查用户的输入是否包含无效字符。

关于Java - nextInt() 大小限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24793389/

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