import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNextLine()) { // 注意 while 处理多个 case
            String str=in.nextLine();
            testkey(str);
        }
    }
    public static void testkey(String key){
        int A=0;//定义一个检测判别标准
        if(key.length()>8)A=1;
        if(A==1){
            for(int i=0;i<key.length();i++){
            if(key.charAt(i)<='z'&&key.charAt(i)>='a'){A++;break;}        
            }
            for(int i=0;i<key.length();i++){
            if(key.charAt(i)<='Z'&&key.charAt(i)>='A'){A++;break;}        
            }
            for(int i=0;i<key.length();i++){
                if(key.charAt(i)<='9'&&key.charAt(i)>='0'){A++;break;} 
            }
            int cout=0;
            for(int i=0;i<key.length();i++){
                if(key.charAt(i)<='9'&&key.charAt(i)>='0'&&key.charAt(i)!=' '&&key.charAt(i)!='\n'||key.charAt(i)<='z'&&key.charAt(i)>='a'&&key.charAt(i)!=' '&&key.charAt(i)!='\n'||key.charAt(i)<='Z'&&key.charAt(i)>='A'&&key.charAt(i)!=' '&&key.charAt(i)!='\n')cout++;
            }
            if(cout!=key.length())A++;
        }
        if(A>=4){
            for(int i=0;i<key.length()-3;i++){
                for(int j=i+3;j<key.length()-2;j++){
                    if(key.charAt(i)==key.charAt(j)){
                        if(key.charAt(i+1)==key.charAt(j+1)){
                            if(key.charAt(i+2)==key.charAt(j+2))A=0;
                        }
                    }
                }
            }     
        }
        if(A>=4)System.out.println("OK");
        else System.out.println("NG");
    }
}


    

定义一个string来接受字符串

Scanner in = new Scanner(System.in);

while (in.hasNextLine()) { // 注意 while 处理多个 case

String str=in.nextLine();

testkey(str);

之后写一个判别函数就好,主要分为四个步骤

第一:字符串长度>8则A++

第二:判断是否有大写字母,是否有小写字母,是否有数字,是否有其他字符(空格换行不算)有则A++

第三:如果A>=4,(大小写数组其他有三个即可)则继续判定有没有字符串重复

第四:for从第一个字符开始检测,i,length再for从第j=i+3个字符开始检测,如果有相同的,比较i+1和J+1,还相同再比

再相同A=0

最后看A>=4?OK: NG

public static void testkey(String key){

int A=0;//定义一个检测判别标准

if(key.length()>8)A=1;

if(A==1){

for(int i=0;i<key.length();i++){

if(key.charAt(i)<='z'&&key.charAt(i)>='a'){A++;break;}

}

for(int i=0;i<key.length();i++){

if(key.charAt(i)<='Z'&&key.charAt(i)>='A'){A++;break;}

}

for(int i=0;i<key.length();i++){

if(key.charAt(i)<='9'&&key.charAt(i)>='0'){A++;break;}

}

int cout=0;

for(int i=0;i<key.length();i++){

if(key.charAt(i)<='9'&&key.charAt(i)>='0'&&key.charAt(i)!=' '&&key.charAt(i)!='\n'||key.charAt(i)<='z'&&key.charAt(i)>='a'&&key.charAt(i)!=' '&&key.charAt(i)!='\n'||key.charAt(i)<='Z'&&key.charAt(i)>='A'&&key.charAt(i)!=' '&&key.charAt(i)!='\n')cout++;

}

if(cout!=key.length())A++;

}

if(A>=4){

for(int i=0;i<key.length()-3;i++){

for(int j=i+3;j<key.length()-2;j++){

if(key.charAt(i)==key.charAt(j)){

if(key.charAt(i+1)==key.charAt(j+1)){

if(key.charAt(i+2)==key.charAt(j+2))A=0;

}

}

}

}

}

if(A>=4)System.out.println("OK");

else System.out.println("NG");

}

}