您好,欢迎来到汇智旅游网。
搜索
您的当前位置:首页Java实现 密码检查

Java实现 密码检查

来源:汇智旅游网

密码检查
问题描述:
小明同学最近开发了一个网站,在用户注册账户的时候,需要设置账户的密码,为了加强账户的安全性,小明对密码强度有一定要求:

现在小明受到了n个密码,他想请你写程序判断这些密码中哪些是合适的,哪些是不合法的。
输入描述:
输入一个数n,接下来有n(n≤100)行,每行一个字符串,表示一个密码,输入保证字符串中只出现大写字母,小写字母和数字,字符串长度不超过100。
输出描述
输入n行,如果密码合法,输出YES,不合法输出NO
示例1
1

结果
YES

代码

public class Main {
public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        //键盘接收密码条数
        int n = sc.nextInt();
        String[] arr = new String[n];
        //利用for循环连续接收字符串,并将每一条密码用字符串数组储存
        for(int i=0;i<arr.length;i++){
            arr[i] = sc.next();
        }
        //获得每个字符串的长度
        for(int i=0;i<arr.length;i++){
            System.out.println(Length(arr[i]));
        }
    }
    /**
密码长度的判断(长度不小于8)
*/
    public static String Length(String str){
        if(str.length()<8){
            return "NO";
        }
        /**
        每条密码的首位不是数字
        */
        if(str.charAt(0)<='9'&&str.charAt(0)>='0'){
            return "NO";
        }
	/**
密码中大小写字母和数字的统计,以及对每条密码的构成进行判断
*/
        int count1=0,count2=0,count3=0;
        for(int i=0;i<str.length();i++){
            if(str.charAt(i)<'0'||(str.charAt(i)>'9'&str.charAt(i)<'A')||(str.charAt(i)>'Z'&str.charAt(i)<'a')||str.charAt(i)>'z'){
                return "NO";
            }
            if(str.charAt(i)<='9'&&str.charAt(i)>='0'){
                count1 =1;
            }
            if(str.charAt(i)<='z'&&str.charAt(i)>='a'){
                count2 =1;
            }
            if(str.charAt(i)<='Z'&&str.charAt(i)>='A'){
                count3 =1;
            }
        }
        //判断是否由大小写字母和数字的其中两种构成
        if(count1+count2+count3>=2){
            return "YES";
        }else{
            return "NO";
        }
    }
		}

示例的运行结果截图:

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- hzar.cn 版权所有 赣ICP备2024042791号-5

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务