gpt4 book ai didi

java - Java中如何将10位电话号码解析为整数

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

我必须进行验证,其中提到电话号码应该是 10 位数字,例如 9867610012,如果这是真的,我必须在参数为整数的 setter 方法中设置其值,并且我无法更改它的参数。我们知道,Integer 的最小值为 -2,147,483,648,最大值为 2,147,483,647(含)。当我使用 Integer.parseInt("9867610012") 将字符串解析为整数时,我在运行时遇到以下异常:

Exception in thread "main" java.lang.NumberFormatException: For input string: "9867610012". 

您能否建议我将 10 位数字字符串设置为整数的方法。

提前致谢!!!

最佳答案

正如我评论的那样,您应该将其保留为 String,然后使用 regex 进行验证。
根据您的情况,我将给出一个示例(10 位数字,可能以零开头)。不要认为我的代码是完美的——这只是为了给你一个想法。

boolean isValid = false;
do {
Scanner phoneSc = new Scanner(System.in);
String phone = phoneSc.next();
isValid = isPhoneValid(phone);
} while (!isValid);


public boolean isPhoneValid(String phone) {
String regex = "\\d{10}"; //regex for 10 digits
return phone.matches(regex);
}

如果您不了解正则表达式,请学习它们。它们非常有用。如果你不想学,网上满是examples 。您可以在正则表达式中添加可能的+在前面,(),也许一些破折号-导致一些数字有它。正则表达式非常适合此类任务。

关于java - Java中如何将10位电话号码解析为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46387304/

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