weixin_46107084 2020-01-07 00:07 采纳率: 0%
浏览 398

一些网站制定了密码规则

一些网站制定了密码规则。假设规则如下:
(1)密码至少8个字符。
(2)密码至少包含2个数字。
(3)密码是“回文”。编写三个方法,分别用于检测3个规则,三个方法的返回值都是boolean型。
在main方法中通过Scanner对象输入密码,如果密码合法,则显示“Valid Password”,否则显示“invalid Password”

  • 写回答

1条回答 默认 最新

  • 关注
    
    import java.util.Scanner;
    
    public class PasswordChecker {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            System.out.print("请输入密码:");
            String password = scanner.nextLine();
            if (isValidPassword(password)) {
                System.out.println("Valid Password");
            } else {
                System.out.println("Invalid Password");
            }
        }
    
        public static boolean isValidPassword(String password) {
            return hasAtLeastEightCharacters(password) &&
                   hasAtLeastTwoDigits(password) &&
                   isPalindrome(password);
        }
    
        public static boolean hasAtLeastEightCharacters(String password) {
            return password.length() >= 8;
        }
    
        public static boolean hasAtLeastTwoDigits(String password) {
            int digitCount = 0;
            for (int i = 0; i < password.length(); i++) {
                if (Character.isDigit(password.charAt(i))) {
                    digitCount++;
                }
            }
            return digitCount >= 2;
        }
    
        public static boolean isPalindrome(String password) {
            int i = 0;
            int j = password.length() - 1;
            while (i < j) {
                if (password.charAt(i) != password.charAt(j)) {
                    return false;
                }
                i++;
                j--;
            }
            return true;
        }
    }
    

    在这个解决方案中,定义了一个名为PasswordChecker的类,其中包含了三个方法来检查密码是否符合规则。isValidPassword()方法调用了这三个方法,并返回一个布尔值来指示密码是否有效。在主方法中,使用Scanner对象来读取用户输入的密码,并调用isValidPassword()方法来检查密码的有效性。如果密码有效,则显示“Valid Password”,否则显示“Invalid Password”。

    请注意,这个解决方案假设密码只包含字母和数字,并且不区分大小写。如果需要检查其他字符或区分大小写,请相应地修改代码。

    评论

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条