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

密码验证合格程序

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";
    }
}

全部评论

相关推荐

求个付费实习岗位:这种就是吃满时代红利又没啥技术水平,只能靠压力学生彰显优越感的老登,别太在意了
点赞 评论 收藏
分享
10-15 10:23
门头沟学院 Java
牛可乐的头像真牛:赶紧举报,这公司绝对是诈骗的,等你签约后工作一两个月后根据合同漏洞把你开除,并且要求你赔偿3w培训费,996是为了提前筛选心甘情愿签下合同容易受骗的群体,纯粹面向校招生精心设计的骗局
你见过哪些工贼行为
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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