• Предмет: Информатика
  • Автор: miaabramova20
  • Вопрос задан 1 год назад

Проверка логина и пароля

Создать статический метод который принимает на вход три параметра: login, password и confirmPassword.
Login должен содержать только латинские буквы, цифры и знак подчеркивания.
Длина login должна быть меньше 20 символов. Если login не соответствует этим требованиям, необходимо выбросить WrongLoginException.
Password должен содержать только латинские буквы, цифры и знак подчеркивания. Длина password должна быть меньше 20 символов. Также password и confirmPassword должны быть равны. Если password не соответствует этим требованиям, необходимо выбросить WrongPasswordException.
WrongPasswordException и WrongLoginException - пользовательские классы исключения с двумя конструкторами – один по умолчанию, второй принимает сообщение исключения и передает его в конструктор класса Exception.
Обработка исключений проводится внутри метода.
Используем multi-catch block.
Метод возвращает true, если значения верны или false в другом случае.

Ответы

Ответ дал: shahbazovelman97
0

Объяснение:

java:

public static boolean checkLoginAndPassword(String login, String password, String confirmPassword) {

   try {

       // Проверяем login

       if (!login.matches("^[a-zA-Z0-9_]{1,20}$")) {

           throw new WrongLoginException();

       }

       

       // Проверяем password

       if (!password.equals(confirmPassword)) {

           throw new WrongPasswordException("Passwords do not match");

       }

       if (!password.matches("^[a-zA-Z0-9_]{1,20}$")) {

           throw new WrongPasswordException();

       }

       

       return true;

   } catch (WrongLoginException | WrongPasswordException e) {

       System.out.println(e.getMessage());

       return false;

   }

}

Пример использования:

sql:

boolean result = checkLoginAndPassword("my_login123", "my_password123", "my_password123");

if (result) {

   System.out.println("Логин и пароль верны");

} else {

   System.out.println("Логин и/или пароль неверны");

}

Обратите внимание на использование multi-catch block в строке } catch (WrongLoginException | WrongPasswordException e) {. В этом блоке перехватываются оба типа исключений - WrongLoginException и WrongPasswordException.

Вас заинтересует