题解 | #密码验证合格程序#
密码验证合格程序
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.hasNext()) { // 注意 while 处理多个 case
String str = in.next();
if(str.length()<=8){
System.out.println("NG");
// 跳出当前循环
continue;
}
int numCount = 0; // 是否有数字
int upCount = 0; // 是否有大写
int downCount = 0;// 是否有小写
int otherCount = 0; // 是否有其他字符
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (c >= '0' && c <= '9') {
if (numCount == 0) {
numCount++;
}
} else if (c >= 'A' && c <= 'Z') {
if (upCount == 0) {
upCount++;
}
} else if (c >= 'a' && c <= 'z') {
if (downCount == 0) {
downCount++;
}
}else{
if (otherCount == 0) {
otherCount++;
}
}
}
if(numCount + upCount + downCount + otherCount < 3){
System.out.println("NG");
continue;
}else{
int error = 0;
for(int i=0;i < str.length()-2; i++){
for(int j=i+1; j< str.length()-2; j++){
if(str.charAt(i) == str.charAt(j)){
if(str.charAt(i+1) == str.charAt(j+1)){
if(str.charAt(i+2) == str.charAt(j+2)){
error = 1;
break;
}
}
}
}
if(error == 1){
break;
}
}
if(error == 1){
System.out.println("NG");
continue;
}
}
System.out.println("OK");
}
}
}



查看1道真题和解析