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

密码验证合格程序

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

import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNextLine()) { // 注意 while 处理多个 case
            String a = in.nextLine();
            System.out.println(getResult(a));
        }
        in.close();
    }
    private static String getResult(String str) {
        if (str.length() <= 8) {
            return "NG";
        }
        int upper = 0;
        int low = 0;
        int num = 0;
        int other = 0;
        for (int i = 0; i < str.length(); i++) {
            if (Character.isUpperCase(str.charAt(i))) {
                upper = 1;
            } else if (Character.isLowerCase(str.charAt(i))) {
                low = 1;
            } else if (Character.isDigit(str.charAt(i))) {
                num = 1;
            } else {
                other = 1;
            }

        }
        if (upper + low + num + other < 3) {
            return "NG";
        }
        Set<String> set = new HashSet<>();
        for (int i = 0; i < str.length() - 2; i++) {
            set.add(str.substring(i, i + 3));
        }
        if (set.size() < str.length() - 2) {
            return "NG";
        }
        return "OK";
    }
}

全部评论

相关推荐

请问极越怎么样,刚拿offer能去吗
想好叫啥名字没:抓紧去,再不去就没机会了
点赞 评论 收藏
分享
勇敢大角牛2:项目太基础了。小demo就不要往简历中写了,得分是什么鬼,大作业?。并且项目经历和你的求职意向岗位不匹配,没有体现硬件的亮点。话有点糙,还请谅解
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务