/
IvanGB
/
java108
Обзор
Документация
Войти
/
IvanGB
/
java108
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
5_java108_HW_EXC/PasswordChecker.java
53 строки
2 KB
IvanGB
upload files
28 дек 2025, 17:20
28 дек 2025, 17:20
13a6fa2
Код
Авторство
О чём код?
public class PasswordChecker { private Integer minLength = null; private Integer maxRepeats = null; // Сеттер для минимальной длины public void setMinLength(int minLength) { if (minLength < 0) { throw new IllegalArgumentException("Минимальная длина не может быть отрицательной"); } this.minLength = minLength; } // Сеттер для максимального количества повторений public void setMaxRepeats(int maxRepeats) { if (maxRepeats <= 0) { throw new IllegalArgumentException("Максимальное количество повторений должно быть положительным"); } this.maxRepeats = maxRepeats; } // Метод проверки пароля public boolean verify(String password) { // Проверяем, что все настройки установлены if (minLength == null || maxRepeats == null) { throw new IllegalStateException("Не все настройки чекера установлены"); } // Проверка минимальной длины if (password.length() < minLength) { return false; } // Проверка максимального количества повторений подряд if (password.length() > 0) { int currentRepeats = 1; char previousChar = password.charAt(0); for (int i = 1; i < password.length(); i++) { if (password.charAt(i) == previousChar) { currentRepeats++; if (currentRepeats > maxRepeats) { return false; } } else { currentRepeats = 1; previousChar = password.charAt(i); } } } return true; } }