Все тесты проходит, но всё равно не принимает. Есть ли ещё какое то неочевидное условие? Или киньте плиз доп тест который помог понять вам!
package com.javarush.task.task22.task2212;
/*
Проверка номера телефона
Критерии валидности:
1) если номер начинается с '+', то он содержит 12 цифр
2) если номер начинается с цифры или открывающей скобки, то он содержит 10 цифр
3) может содержать 1 пару скобок '(' и ')'
4) скобки (если они есть) внутри содержат четко 3 цифры
5) номер может содержать только цифры, '+', '(' и ')'
6) номер заканчивается на цифру
*/
public class Solution {
public static boolean checkTelNumber(String telNumber) {
if (telNumber == null || telNumber.length() > 15 || telNumber.length() < 10) return false;
if ((telNumber.matches("\\+\\d*\\(\\d{3}\\)\\d*") && telNumber.length() == 15) ||
(telNumber.matches("\\d*\\(\\d{3}\\)\\d*") && telNumber.length() == 12) ||
telNumber.matches("\\+\\d{12}") ||
telNumber.matches("\\d{10}")) return true;
return false;
}
public static void main(String[] args) {
}
}