/
on-line-javalex
/
HW.Stacktrace
Обзор
Документация
Войти
/
on-line-javalex
/
HW.Stacktrace
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
PasswordChecker.java
44 строки
2 KB
on-line-javalex
upload files
02 дек 2025, 21:20
02 дек 2025, 21:20
9897cc8
Код
Авторство
О чём код?
public class PasswordChecker { protected int minLength = -1; protected int maxRepets = -1; public void setMinLength(int minLength) { if (minLength < 0) { throw new IllegalArgumentException("Мин. длина пароля не должна быть отрицательной: " + minLength); } this.minLength = minLength; } public void setMaxRepeats(int maxRepets) { if (maxRepets <= 0) { throw new IllegalArgumentException( "Макс. количество повторений символа должно быть положительным: " + maxRepets); } this.maxRepets = maxRepets; } public boolean verify(String password) { if (minLength == -1 || maxRepets == -1) { throw new IllegalStateException( "Не выставлены настройки чекера" ); } if (password.length() < minLength) return false; if (password.isEmpty()) return true; char prev = password.charAt(0); int repets = 1; for (int i = 1; i < password.length(); i++) { char cur = password.charAt(i); if (cur == prev) { repets++; if (repets > maxRepets) { return false; } } else { prev = cur; repets = 1; } } return true; } }