/
v.nilov
/
Zadanie11
Обзор
Документация
Войти
/
v.nilov
/
Zadanie11
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Main.java
66 строк
3 KB
v.nilov
Zadanie11
18 ноя 2025, 00:01
18 ноя 2025, 00:01
afceddd
Код
Авторство
О чём код?
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); try { int minLength = readPositiveInt(scanner, "Введите мин. длину пароля: "); int maxRepeats = readPositiveInt(scanner, "Введите макс. допустимое количество повторений символа подряд: "); PasswordChecker checker = new PasswordChecker(); checker.setMinLength(minLength); checker.setMaxRepeats(maxRepeats); System.out.println("Чекер настроен! Минимальная длина: " + minLength + ", максимальные повторения: " + maxRepeats); checkPasswords(scanner, checker); } catch (IllegalArgumentException e) { System.out.println("Ошибка в настройках: " + e.getMessage()); System.out.println("Программа завершена из-за ошибки ввода"); } catch (Exception e) { System.out.println("Произошла непредвиденная ошибка: " + e.getMessage()); } finally { scanner.close(); } } private static int readPositiveInt(Scanner scanner, String message) { while (true) { System.out.print(message); try { int value = scanner.nextInt(); scanner.nextLine(); return value; } catch (Exception e) { System.out.println("Ошибка! Введите целое число."); scanner.nextLine(); } } } private static void checkPasswords(Scanner scanner, PasswordChecker checker) { while (true) { System.out.print("Введите пароль или end: "); String password = scanner.nextLine(); if ("end".equalsIgnoreCase(password)) { break; } try { if (checker.verify(password)) { System.out.println("Подходит!"); } else { System.out.println("Не подходит!"); } } catch (IllegalStateException e) { System.out.println("Ошибка чекера: " + e.getMessage()); break; } } System.out.println("Программа завершена"); } }