题解 | 密码验证合格程序
密码验证合格程序
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 str = in.nextLine(); int length = str.length(); if (length < 8) {// 题目错了,应该是不超过8位 System.out.println("NG"); continue; } int numCnt = 0; int spCnt = 0; int loCnt = 0; int upCnt = 0; for (int i = 0; i < length; i++ ) { char c = str.charAt(i); if (Character.isDigit(c)&&numCnt==0) { numCnt=1; } else if(Character.isUpperCase(c)&&upCnt==0){ upCnt=1; } else if(Character.isLowerCase(c)&&loCnt==0){ loCnt=1; }else if(spCnt==0){ spCnt=1; } } if(numCnt+spCnt+loCnt+upCnt<3){ System.out.println("NG"); continue; } boolean flag = false; for (int i = 0; i < length - 4; i++ ) { String firstSon = str.substring(i,i+3);// length-4 避免指针超出范围 String tmp = str.substring(i+3); if(tmp.contains(firstSon)){ flag=true; System.out.println("NG"); break; } } if(flag==true){ continue; } System.out.println("OK"); } } }