我想验证用户输入的电话号码,我需要做的第一件事是检查,以确保输入字符串的长度是10哪个是这是您在代码中看到的问题。java验证字符串包含数字和搜索,以确保没有字符
现在是问题出现的地方,我还需要检查以确保没有输入字符,以及有关如何在不使用数组的情况下执行此操作的任何想法。我想使用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++;
}
}
为什么不''[0-9] {10}'? –
@AndyTurner因为我的咖啡机今天早上坏了 –
是的,我可以这样做,我曾经希望使用Character.isLetter()方法的一些东西。我似乎无法正确实施。 – Afflicted