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

密码验证合格程序

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

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in  = new Scanner(System.in);
        while (in.hasNextLine()) {
            String pwd = in.nextLine();
            if (pwd.length() > 8 && !isContainCommonString(pwd) && contain3Type(pwd)) {
                System.out.println("OK");
            } else {
                System.out.println("NG");
            }
        }
    }
    static boolean contain3Type(String pwd) {
        int number = 0;
        int lowChar = 0;
        int upperChar = 0;
        int others = 0;
        for (char c : pwd.toCharArray()) {
            if (c >= '0' && c <= '9') {
                number = 1;
            } else if (c >= 'a' && c <= 'z') {
                lowChar = 1;
            } else if (c >= 'A' && c <= 'Z') {
                upperChar = 1;
            } else {
                others = 1;
            }
        }
        return number + lowChar + upperChar + others >= 3;
    }
    static boolean isContainCommonString(String str) {
        for (int i = 0; i < str.length()-3; i++) {
            String child = str.substring(i, i + 3);
            if (str.substring(i + 2).contains(child)) {
                return true;
            }
        }
        return false;
    }
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-07 13:47
机械打工仔:你自己匿名可以,这么好的公司就别给它匿名了
点赞 评论 收藏
分享
05-27 14:57
西北大学 golang
强大的社畜在走神:27届真不用急,可以搞点项目、竞赛再沉淀沉淀,我大二的时候还在天天打游戏呢
投递华为等公司10个岗位
点赞 评论 收藏
分享
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-09 12:23
转人工😡
门口唉提是地铁杀:五次握手了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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