题解 | #密码验证合格程序#

密码验证合格程序

http://www.nowcoder.com/practice/184edec193864f0985ad2684fbc86841

依次判断密码的条件。1:长度判断。2:四个种类的字符判断。用一个abcd四个变量代表四个条件来判断即可。3:重复判断,这个可以利用循环截取3个字符组成字符串s,使剩余字符与s模式匹配,如果匹配到了那说明重复,不合格。

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNext()) { 
            String pwds = in.nextLine();
            char[] pwd = pwds.toCharArray();
            int a=0,b=0,c=0,d=0 ;
            if(pwd.length>=8){
                for(int i =0;i<pwd.length;++i){
                    if(pwd[i]>='0'&&pwd[i]<='9')a=1;
                    else if(pwd[i]>='A'&&pwd[i]<='Z') b=1;
                    else if(pwd[i]>='a'&&pwd[i]<='z') c=1;
                    else d=1;
                    if(a+b+c+d>=3)break;
                }
                if(a+b+c+d>=3){
                    boolean isvalid = true;
                    for(int i =0;i<pwds.length()-3;++i){
                        String s = pwds.substring(i,i+3);
                        String ssuffix = pwds.substring(i+3);
                        if( ssuffix.contains(s)){
                            System.out.println("NG");
                            isvalid = false;
                            break;
                        }
                    }
                    if(isvalid)
                        System.out.println("OK");
                    continue;
                }
                else {
                    System.out.println("NG");
                    continue;
                }
            }
            System.out.println("NG");
        }
    }
}
全部评论

相关推荐

07-07 12:25
门头沟学院 Java
程序员牛肉:你这个智邮公司做的就是那个乐山市税务系统的服务吗?
点赞 评论 收藏
分享
一表renzha:不是你说是南通我都没往那方面想,人家真是想表达那个意思吗?
点赞 评论 收藏
分享
07-09 19:25
门头沟学院 Java
这是要把每一个投校招的都开盒吗?
26届之耻将大局逆转:裁人的时候一次性追回餐费
点赞 评论 收藏
分享
评论
4
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务