我正在尝试查找电话号码是否符合格式(xxx)xxx-xxxx,其中x是数字。首先,我有长度和'(',')'和' - '的程序。当我输入一些不起作用的东西时,我会得到逻辑输出。但是,当我输入格式正确的数字时,我的程序不会返回任何内容。Java:检查电话号码是否符合有效格式
import java.util.Scanner;
public class Program04 {
public static void main(String args[])
{
Scanner stdIn = new Scanner(System.in);
String pN;
System.out.print("Please enter a phone number (ddd)ddd-dddd :");
pN = stdIn.nextLine();
char a = pN.charAt(1);
char b = pN.charAt(2);
char c = pN.charAt(3);
char d = pN.charAt(5);
char e = pN.charAt(6);
char f = pN.charAt(7);
char g = pN.charAt(9);
char h = pN.charAt(10);
char i = pN.charAt(11);
char j = pN.charAt(12);
if (pN.length() == 13 && pN.charAt(0)=='(' && pN.charAt(4)== ')' && pN.charAt(8)=='-')
{
if (a>=0 && a<=9)
{
if (b>=0 && b<=9)
{
if (c>=0 && c<=9)
{
if (d>=0 && d<=9)
{
if (e>=0 && e<=9)
{
if (f>=0 && f<=9)
{
if (g>=0 && g<=9)
{
if (h>=0 && h<=9)
{
if (i>=0 && i<=9)
{
if (j>=0 && j<=9)
{
System.out.print("This is a valid phone number!");
}
}
}
}
}
}
}
}
}
}
}
else System.out.println("Not a vaid phone number.");
}
}
你被允许在该任务中使用正则表达式(即是这个家庭作业)? –
如果我发布了一个答案,告诉你“使用调试器”,那么在这种情况下当然是正确的做法,人们会对我大叫。 – djechlin
如果允许,可以使用Google的libphonenumber('PhoneNumberUtil.parse()')快速获取所需内容 – bphilipnyc