/
lebedev666
/
Stacktrace
Обзор
Документация
Войти
/
lebedev666
/
Stacktrace
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
PasswordChecker.java
49 строк
2 KB
lebedev666
Create: Main.java, PasswordChecker.java
05 авг 2026, 00:31
Верифицирован
05 авг 2026, 00:31
50a9176
Код
Авторство
О чём код?
public class PasswordChecker { private int minLength; private int maxRepeats; //-- установка мин длины пароля public void setMinLength(int minLengthpassword){ if (minLengthpassword < 0) { throw new IllegalArgumentException("Минимальная длина не может быть отрицательной"); } else { this.minLength = minLengthpassword; } } // установка макс количество повторений символов пароля public void setMaxRepeats(int maxRepeatspPassword) { if (maxRepeatspPassword <= 0) { throw new IllegalArgumentException("Максимальное количество символов не может быть отрицательным или нулевым"); } else { this.maxRepeats = maxRepeatspPassword; } } public boolean verify(String password) { if (password.length() < minLength) { return false; } if (maxConsecutiveRepeats(password) > maxRepeats) { return false; } return true; } public static int maxConsecutiveRepeats(String str) { if (str == null || str.isEmpty()) return 0; int maxCount = 1; // хотя бы один символ есть int currentCount = 1; for (int i = 1; i < str.length(); i++) { if (str.charAt(i) == str.charAt(i - 1)) { currentCount++; maxCount = Math.max(maxCount, currentCount); } else { currentCount = 1; // сбросили счётчик при смене символа } } return maxCount; } }