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

密码验证合格程序

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);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextLine()) { // 注意 while 处理多个 case
            String input = in.nextLine();
            System.out.println(ifOK(input));
        }
       
    }

    //
    public static String ifOK(String input) {
        String result = new String();
        int charTypeNum = 0;

        //密码长度
        if (input.length() < 9) {
            result = "NG";
            return result;
        }

        //符号种类
        for (int i = 0; i < input.length(); i++) {
            if (input.charAt(i) >= 'A' && input.charAt(i) <= 'Z') {
                charTypeNum++;
                break;
            }
        }
        for (int i = 0; i < input.length(); i++) {
            if (input.charAt(i) >= 'a' && input.charAt(i) <= 'z') {
                charTypeNum++;
                break;
            }
        }
        for (int i = 0; i < input.length(); i++) {
            if (input.charAt(i) >= '0' && input.charAt(i) <= '9') {
                charTypeNum++;
                break;
            }
        }
        for (int i = 0; i < input.length(); i++) {
            if (input.charAt(i) >= 'A' && input.charAt(i) <= 'Z') {
                continue;
            }
            if (input.charAt(i) >= 'a' && input.charAt(i) <= 'z') {
                continue;
            }
            if (input.charAt(i) >= '0' && input.charAt(i) <= '9') {
                continue;
            }
            if (input.charAt(i) == ' ' || input.charAt(i) == '\n') {
                continue;
            }
            charTypeNum++;
            break;
        }
        if (charTypeNum < 3) {
            result = "NG";
            return result;
        }

        //子串
        for (int i = 0; i < input.length() - 3; i++) {
            String tempStr = input.substring(i, i + 3);
            String tempStr2 = input.substring(i + 3, input.length());
            if (tempStr2.contains(tempStr)) {
                result = "NG";
                return result;
            }
        }

        result = "OK";
        return result;
    }
}

全部评论

相关推荐

HaxyBT:那我提前下班总可以了吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务