Я пытаюсь найти, подходит ли номер телефона в формате (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
Если это допустимо, вы можете использовать libphonenumber Google ('PhoneNumberUtil.parse()'), чтобы быстро получить то, что вам нужно – bphilipnyc