/
AnatoliyMatveev
/
Practic5
Обзор
Документация
Войти
/
AnatoliyMatveev
/
Practic5
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
P5.java
55 строк
3 KB
AnatoliyMatveev
create: P5.java, PasswordChecker.java
13 май 2026, 14:39
Верифицирован
13 май 2026, 14:39
e0d770d
Код
Авторство
О чём код?
import java.util.Scanner; public class P5 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); PasswordChecker checker = new PasswordChecker(); // 1. Блок ввода настроек с защитой от некорректных данных try { System.out.print("Введите минимальную длину пароля: "); int minLength = scanner.nextInt(); checker.setMinLength(minLength); System.out.print("Введите максимально допустимое количество повторений подряд: "); int maxRepeats = scanner.nextInt(); checker.setMaxRepeats(maxRepeats); // Очищаем буфер сканера после чтения чисел (чтобы корректно читал строки дальше) scanner.nextLine(); } catch (IllegalArgumentException e) { // Если в сеттеры передали не те числа, ловим ошибку здесь System.out.println("Ошибка настройки чекера: " + e.getMessage()); return; // Завершаем выполнение программы, как требует условие } // 2. Бесконечный цикл проверки паролей System.out.println("\nНастройки успешно применены. Вводите пароли для проверки (или 'end' для выхода):"); while (true) { System.out.print("Введите пароль: "); String password = scanner.nextLine(); // Условие выхода из цикла if ("end".equals(password)) { System.out.println("Программа завершена."); break; } try { // Вызываем проверку пароля boolean isValid = checker.verify(password); if (isValid) { System.out.println("Результат: Пароль надежен"); } else { System.out.println("Результат: Пароль ненадежен"); } } catch (IllegalStateException e) { // На случай, если метод verify вызван у ненастроенного объекта System.out.println("Критическая ошибка состояния: " + e.getMessage()); break; } } } }