-2

我对 Java 很陌生,所以请多多包涵。我的任务:要求用户输入密码并写一条消息说明它是否可以接受。密码要求:

  1. 密码长度至少为 8 个字符
  2. 它有大写和小写字母
  3. 至少一个字母后跟一个数字
  4. 它具有特殊字符之一 $#?!_-=%

我现在真的不知道在 3 号和 4 号上该做什么。我读过一些关于正则表达式的东西,但我们甚至在课堂上都没有。还有其他可能的方法吗?

4

1 回答 1

0

对于数字 3,您可以使用循环。在其中,您可以通过 isLetter() 方法捕获每个字母,然后通过 isDigit() 方法检查数组的以下元素

boolean isLetterFollowedByNumber;
for (int[] a : nameOfYourArray) {
    if (Character.isLetter(array[i]) && Character.isLetter(array[i])) {
        isLetterFollowedByNumber = true;
    }
}

对于数字 4,您可以将 char 数组的每个元素与特殊字符进行比较

boolean hasCharacter;
for (int[] a : nameOfYourArray) {
    if (a == '$' || a == '#' || a == '?' || a == '!' || a == '_'- || a == '=' || a == '%') {
        hasCharacter = true;
    }
}

我的两个示例都包含 for-each 循环,但您也可以使用 for 循环。祝你任务顺利!

于 2021-11-23T22:42:11.733 回答