gpt4 book ai didi

java 验证包含数字的字符串并搜索以确保没有字符

转载 作者:行者123 更新时间:2023-12-02 03:52:51 26 4
gpt4 key购买 nike

我想验证用户输入的电话号码,我需要做的第一件事是检查以确保输入字符串的长度为 10,这不是问题,正如您在我的代码中看到的那样。

现在是问题所在,我还需要检查以确保也没有输入任何字符,以及有关如何在不使用数组的情况下执行此操作的任何想法。我想使用Character.isLetter();但无论我如何实现它,结果都不正确。

import java.util.Scanner;
public class Example
{
public static void main(String[] args)
{
boolean isNumber = false;
String phoneNum = "";
Scanner input = new Scanner(System.in);

while(!isNumber)
{
System.out.print("\nEnter your 10 digit phone number (ex: 2123345657): ");
phoneNum = input.nextLine();

/* Yes I could use nextInt(); etc.. but that would defeat the
purpose of this exercise */

if(phoneNum.length() != 10)
{
System.out.println("\n\nBad input");
}
else
isNumber = true;
}

System.out.println("\n\nPhone number is: " + phoneNum);


}

}

我一直在寻找这样的东西。

while(!isRight)
{
System.out.print("\n input number: ");
phoneNum = input.nextLine();

while(i < phoneNum.length())
{
if(phoneNum.length() != 10)
{
System.out.println("not enough numbers");
}


else if (Character.isLetter(phoneNum.charAt(i)) == true)
{

System.out.println("Sorry you can't use any thing but numbers");
}

else
isRight = true;
i++;
}
}

最佳答案

您可以不使用正则表达式来做到这一点:

boolean validate(String str) {
if (str.length() != 10) {
return false;
}
for (int i = 0; i < str.length(); ++i) {
if (!Character.isDigit(str.charAt(i)) {
return false;
}
}
return true;
}

关于java 验证包含数字的字符串并搜索以确保没有字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35736375/

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