题解 | 密码验证合格程序
密码验证合格程序
https://www.nowcoder.com/practice/184edec193864f0985ad2684fbc86841
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNextLine()) {
String sr = in.nextLine();
if (sr.length() < 8) {
System.out.println("NG");
continue;
}
boolean[] flag = new boolean[5];
for (int i = 0; i < sr.length(); i++) {
if (flag[0] == false && 'A' <= sr.charAt(i) && sr.charAt(i) <= 'Z') {
flag[0] = true;
} else if (flag[1] == false && 'a' <= sr.charAt(i) && sr.charAt(i) <= 'z') {
flag[1] = true;
} else if (flag[2] == false && '0' <= sr.charAt(i) && sr.charAt(i) <= '9') {
flag[2] = true;
} else if (flag[3] == false && !(('A' <= sr.charAt(i) && sr.charAt(i) <= 'Z') ||
('a' <= sr.charAt(i) && sr.charAt(i) <= 'z') ||
('0' <= sr.charAt(i) && sr.charAt(i) <= '9') ||
sr.charAt(i) == ' ' || sr.charAt(i) == '\n')) {
flag[3] = true;
}
if (i < sr.length() - 5 && sr.substring(i + 3, sr.length()).contains(sr.substring(i, i + 3))) {
flag[4] = true;
break;
}
}
if(flag[4] == true){
System.out.println("NG");
continue;
}
int sum = 0;
for (int j = 0; j < 4; j++) {
if (flag[j] == true) sum++;
}
if (sum >= 3) {
System.out.println("OK");
continue;
} else {
System.out.println("NG");
}
}
}
}
