Как проверить, есть ли в JAVA 2 заглавные буквы, 3 строчные буквы и 1 цифра - PullRequest
0 голосов
/ 13 октября 2018

Помогите, пожалуйста, я застрял уже большую часть дня и не могу найти / понять ответы из других источников.Мне нужно получить пароль от пользователя и проверить, содержит ли пароль:

  • Две буквы в верхнем регистре
  • Три буквы в нижнем регистре
  • Одно число

вот мой код:

import javax.swing.JOptionPane;
public class PracticePassword {

    public static void main(String[] args) {
        String originalPw;
        // TODO Auto-generated method stub
        String newPw;
        int pwLength;
        int i;
        char c;

        newPw = JOptionPane.showInputDialog(null, "Please enter a password" + 
        " that contains the following:" + "\n"
        + "**TWO upper case letters" + "\n" + "**THREE lower case letters" + "\n"
        + "**ONE number");
        originalPw = newPw;
        pwLength = newPw.length();

        for (i = 0; i <= pwLength; i++) {
            boolean hasUpperCase = !originalPw.equals(originalPw.toUpperCase());
            boolean hasLowerCase = !originalPw.equals(originalPw.toUpperCase());

            if(!hasUpperCase){
                System.out.println("You have three upper case letters, good job.");
            }
            else {
                System.out.println("You must have three upper case letters");
            }
        }

    }   
}

Если мне кажется, что я понятия не имею, что я делаю в конце, потому что я этого не делаю.Пожалуйста помоги.спасибо:)

спасибо за ваши ответы всем.Я должен был быть более конкретным.Я думаю, что я спросил, есть ли какие-либо методы или структуры, которые я могу реализовать в своем коде, чтобы убедиться, что пользовательский ввод соответствует этим спецификациям.Теперь я вижу, что мой код очень неполный.Сейчас я перехожу к заметкам, чтобы улучшить свой код.

1 Ответ

0 голосов
/ 13 октября 2018

Это похоже на домашнее задание, поэтому я не буду решать его напрямую.Однако вот некоторые шаги, которые вы можете предпринять:

  • Создать метод для проверки ввода (public static boolean isValid(String str))

  • Преобразовать Stringперсонажу Array.(Для этого есть метод!)

  • Перебирайте буквы и следите за количеством прописных и строчных букв и количеством цифр.(Используя Character.isDigit(), Character.isUpperCase() и Character.isLowerCase())

  • Если все требования соблюденыверни истину.В противном случае верните false.

...