public class HomeWorkN {
// вложенный класс LoginValidationException
public static class LoginValidationException extends Exception {
public LoginValidationException(String message) {
super(message);
}
}
// метод для валидации логина
public static void validateLogin(String login) throws LoginValidationException {
// регулярное выражение для проверки логина
String regex = "^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[_])[A-Za-z\\d_]{1,20}$";
if (!login.matches(regex)) {
throw new LoginValidationException("Некорректный логин");
}
}
// метод для проверки логина
public static boolean isLoginValid(String login) {
try {
validateLogin(login);
return true;
} catch (LoginValidationException e) {
return false;
}
}
// пример использования
public static void main(String[] args) {
String login1 = "user_123";
String login2 = "USER_123";
String login3 = "user123";
System.out.println(isLoginValid(login1)); // true
System.out.println(isLoginValid(login2)); // true
System.out.println(isLoginValid(login3)); // false
}
}
* Если вас просят создать класс - его надо создать вложенным, т.е. внутри класса HomeWorkN
* вы создаете класс MyClass {} (все в одном файле)
Задание:
* 1. Создайте вложенный класс LoginValidationException, унаследуйте его от Exception
* 2. Реализуйте проверку "Логина" в методе validateLogin по следуюзим правилам:
* - должен содержать только латинские буквы, цифры и знак подчеркивания
* - должен содержать как минимум одну маленькую, одну большую букву, цифру и нижнее подчеркивание
* - максимальная длинна логина- 20 символов
* - если логин не соответствует требованиям - выбросить LoginValidationException
* - можно использовать регулярные выражения
* 3. Реализуйте проверку логина в методе isLoginValid по следующим правилам
* - метод должен вызывать метод validateLogin
* - если метод validateLogin не выбросил ошибку - вернуть true
* - если метод validateLogin выбросил ошибку - вернуть false
*/