1081 检查密码(JAVA)

简介: 本题要求你帮助某网站的用户注册模块写一个密码合法性检查的小功能。该网站要求用户设置的密码必须由不少于6个字符组成,并且只能有英文字母、数字和小数点 .,还必须既有字母也有数字。

 

本题要求你帮助某网站的用户注册模块写一个密码合法性检查的小功能。该网站要求用户设置的密码必须由不少于6个字符组成,并且只能有英文字母、数字和小数点 .,还必须既有字母也有数字。

输入格式:

输入第一行给出一个正整数 N(≤ 100),随后 N 行,每行给出一个用户设置的密码,为不超过 80 个字符的非空字符串,以回车结束。

注意: 题目保证不存在只有小数点的输入。

输出格式:

对每个用户的密码,在一行中输出系统反馈信息,分以下5种:

    • 如果密码合法,输出Your password is wan mei.
    • 如果密码太短,不论合法与否,都输出Your password is tai duan le.
    • 如果密码长度合法,但存在不合法字符,则输出Your password is tai luan le.
    • 如果密码长度合法,但只有字母没有数字,则输出Your password needs shu zi.
    • 如果密码长度合法,但只有数字没有字母,则输出Your password needs zi mu.

    输入样例:

    5
    123s
    zheshi.wodepw
    1234.5678
    WanMei23333
    pass*word.6

    image.gif

    输出样例:

    Your password is tai duan le.
    Your password needs shu zi.
    Your password needs zi mu.
    Your password is wan mei.
    Your password is tai luan le.

    image.gif

    代码实现:

    import java.io.*;
    import java.util.Locale;
    /**
     * @author yx
     * @date 2022-07-26 13:09
     */
    public class Main {
        static PrintWriter out=new PrintWriter(System.out);
        static BufferedReader ins=new BufferedReader(new InputStreamReader(System.in));
        static StreamTokenizer in=new StreamTokenizer(ins);
        public static void main(String[] args) throws IOException {
            in.nextToken();
            int N = (int) in.nval;
            for (int j = 0; j < N; j++) {
                char[] arr = ins.readLine().toUpperCase(Locale.ROOT).toCharArray();
                int length = arr.length;
                int zm_no = 0;
                int sz_no = 0;
                int dian_no = 0;
                int bhf_no = 0;
                for (int i = 0; i < length; i++) {
                    if ((arr[i] >= 'A' && arr[i] <= 'Z')) {
                        zm_no++;
                    } else if ((arr[i] >= '0' && arr[i] <= '9')) {
                        sz_no++;
                    } else if (arr[i] == '.') {
                        dian_no++;
                    } else {
                        bhf_no++;
                    }
                }
                int length_no = dian_no + sz_no + zm_no;
                if (length_no >= 6) {//长度合法
                    if (bhf_no > 0) {
                        System.out.println("Your password is tai luan le.");
                    } else if (sz_no == 0) {
                        System.out.println("Your password needs shu zi.");
                    } else if (zm_no == 0) {
                        System.out.println("Your password needs zi mu.");
                    }else {
                        System.out.println("Your password is wan mei.");
                    }
                } else {
                    System.out.println("Your password is tai duan le.");
                }
            }
        }
    }

    image.gif

    image.gif编辑

    相关文章
    |
    20小时前
    |
    安全 Java 网络安全
    Java代码表示随机密码
    Java代码表示随机密码
    12 0
    |
    20小时前
    |
    算法 Java 程序员
    Java检查字符串是否为回文
    Java检查字符串是否为回文
    |
    20小时前
    |
    存储 安全 Java
    Java密码系统
    Java密码系统
    16 0
    |
    20小时前
    |
    安全 Java 开发者
    【Java】<泛型>,在编译阶段约束操作的数据结构,并进行检查。
    【Java】<泛型>,在编译阶段约束操作的数据结构,并进行检查。
    24 0
    |
    20小时前
    |
    Java
    Java 16 新玩法:instanceof 升级版,让类型检查更精准
    Java 16 新玩法:instanceof 升级版,让类型检查更精准
    14 0
    |
    6月前
    |
    存储 Java 数据库
    java spring boot 数据库密码解密
    java spring boot 数据库密码解密
    |
    20小时前
    |
    存储 设计模式 缓存
    Java instanceof操作符:类型检查的必备工具
    Java instanceof操作符:类型检查的必备工具
    40 0
    |
    20小时前
    |
    存储 JSON 安全
    使用shiro对数据库中的密码进行加密存储(java+springboot+shiro)
    使用shiro对数据库中的密码进行加密存储(java+springboot+shiro)
    103 0
    |
    20小时前
    |
    Java
    100166. 检查按位或是否存在尾随零 --力扣 --JAVA
    给你一个 正整数 数组 nums 。 你需要检查是否可以从数组中选出 两个或更多 元素,满足这些元素的按位或运算( OR)结果的二进制表示中 至少 存在一个尾随零。 例如,数字 5 的二进制表示是 "101",不存在尾随零,而数字 4 的二进制表示是 "100",存在两个尾随零。 如果可以选择两个或更多元素,其按位或运算结果存在尾随零,返回 true;否则,返回 false 。
    42 0
    |
    20小时前
    |
    消息中间件 缓存 运维
    【Java】医院云HIS信息管理系统源码:实现检验、检查、心理CT、B超等医技报告查看
    【Java】医院云HIS信息管理系统源码:实现检验、检查、心理CT、B超等医技报告查看
    55 0