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

密码验证合格程序

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 str = in.nextLine();
            boolean[] arr = new boolean[4];
            int count = 0;
            boolean flag = false;
            if (str.length() <= 8) {
                System.out.println("NG");
            } else {
                for (int i = 0; i < str.length(); i++) {
                    if ( str.charAt(i) >= 'a' && str.charAt(i) <= 'z') {
                        arr[0] = true;
                    } else if (str.charAt(i) >= 'A' && str.charAt(i) <= 'Z') {
                        arr[1] = true;
                    } else if (str.charAt(i) >= '0' && str.charAt(i) <= '9') {
                        arr[2] = true;
                    } else if (str.charAt(i) == '\n' || str.charAt(i) == ' ') {
                        System.out.println("NG");
                        flag = true;
                        break;
                    } else {
                        arr[3] = true;
                    }

                }
                if ( isExist(str, 0, 3)) {
                    System.out.println("NG");
                    flag = true;
                }
                if (flag == false){
                    for (int i = 0; i < arr.length; i++) {
                        if (arr[i] == true) {
                            count++;
                        }
                    }
                    if (count >= 3) {
                        System.out.println("OK");
                    }
                }
            }

        }
    }
    static boolean isExist(String str, int i, int j) {
        if (j > str.length() -3 ) {//0123456 j = 3,len = 7 ,sub = 3
            return false;
        } else {
            
            if (str.substring(j).contains(str.substring(i, j))) {
                return true;
            } else {
               //j = 4, i = 1, 4
                return isExist(str,i + 1, j + 1);
            }
        }

    }
}

全部评论

相关推荐

北漂的牛马人:211佬,包进的,可能是系统问题
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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