Метод Java для проверки строки на наличие заглавных букв всегда возвращает falseJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Метод Java для проверки строки на наличие заглавных букв всегда возвращает false

Сообщение Anonymous »

Я пытаюсь создать простую программу проверки пароля на Java, которая проверяет множество параметров пароля пользователя, прежде чем разрешить ему продолжить.
Одна из вещей, которые она проверяет, — это наличие хотя бы одной заглавной буквы в пароле. Вот код, во-первых, используемый метод:

Код: Выделить всё

 public static boolean checkString(String str) {
char ch;
boolean capitalFlag = false;

for(int i=0;i < str.length();i++) {

ch = str.charAt(i);

capitalFlag = Character.isUpperCase(ch);
}
return capitalFlag;
}
Затем оператор else if, который проверяет это:

Код: Выделить всё

else if (!checkString(enterPasswordAgain) || !checkString(enterPasswordAgain)){
btnSubmit.setForeground(Color.RED);
btnSubmit.setText("Make sure your password has at least one capital letter.");
System.out.println("false");
}
else {
btnSubmit.setForeground(Color.GREEN);
btnSubmit.setText("Excellent password!");
System.out.println("true");
}
По какой-то причине каждый раз возвращается false, несмотря на то, что это последняя проверка и не должно вызывать никаких проблем. Я новичок в Java, может кто-нибудь объяснить, почему это не работает? Спасибо!
Tldr: каждый раз возвращает false, несмотря на то, что он должен возвращать любое значение CapitalFlag.

Подробнее здесь: https://stackoverflow.com/questions/784 ... urns-false
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»