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

Ответы на вопрос

Объяснение:
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.



Ниже приведен пример кода на языке Java, который реализует заданные вами требования:
javaclass 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.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili