Вопрос задан 24.09.2023 в 10:26. Предмет Информатика. Спрашивает Остроушко Юлия.

Проверка логина и пароля Создать статический метод который принимает на вход три параметра:

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

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Ниже приведен пример кода на языке Java, который реализует заданные вами требования:

java
class WrongLoginException extends Exception { public WrongLoginException() { super("Wrong login format"); } public WrongLoginException(String message) { super(message); } } class WrongPasswordException extends Exception { public WrongPasswordException() { super("Wrong password format"); } public WrongPasswordException(String message) { super(message); } } public class LoginValidator { public static boolean validate(String login, String password, String confirmPassword) { try { if (!isValidLogin(login)) { throw new WrongLoginException(); } if (!isValidPassword(password, confirmPassword)) { throw new WrongPasswordException(); } return true; } catch (WrongLoginException | WrongPasswordException e) { System.err.println("Exception: " + e.getMessage()); return false; } } private static boolean isValidLogin(String login) { // Проверяем, что login содержит только латинские буквы, цифры и знак подчеркивания, // а также его длина меньше 20 символов. return login.matches("^[a-zA-Z0-9_]{1,20}$"); } private static boolean isValidPassword(String password, String confirmPassword) { // Проверяем, что password и confirmPassword соответствуют требованиям и равны. return password.matches("^[a-zA-Z0-9_]{1,20}$") && password.equals(confirmPassword); } public static void main(String[] args) { String login = "user123"; String password = "pass123"; String confirmPassword = "pass123"; boolean result = validate(login, password, confirmPassword); if (result) { System.out.println("Регистрация прошла успешно."); } else { System.out.println("Ошибка при регистрации."); } } }

В этом коде созданы два пользовательских исключения: WrongLoginException и WrongPasswordException, которые выбрасываются, если условия не выполняются. Метод validate принимает логин, пароль и подтверждение пароля, выполняет проверки и возвращает true, если значения верны, и false, если есть ошибки. Исключения обрабатываются внутри метода с использованием multi-catch block.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос