题解 | #密码验证合格程序#
密码验证合格程序
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 input = in.nextLine();
System.out.println(ifOK(input));
}
}
//
public static String ifOK(String input) {
String result = new String();
int charTypeNum = 0;
//密码长度
if (input.length() < 9) {
result = "NG";
return result;
}
//符号种类
for (int i = 0; i < input.length(); i++) {
if (input.charAt(i) >= 'A' && input.charAt(i) <= 'Z') {
charTypeNum++;
break;
}
}
for (int i = 0; i < input.length(); i++) {
if (input.charAt(i) >= 'a' && input.charAt(i) <= 'z') {
charTypeNum++;
break;
}
}
for (int i = 0; i < input.length(); i++) {
if (input.charAt(i) >= '0' && input.charAt(i) <= '9') {
charTypeNum++;
break;
}
}
for (int i = 0; i < input.length(); i++) {
if (input.charAt(i) >= 'A' && input.charAt(i) <= 'Z') {
continue;
}
if (input.charAt(i) >= 'a' && input.charAt(i) <= 'z') {
continue;
}
if (input.charAt(i) >= '0' && input.charAt(i) <= '9') {
continue;
}
if (input.charAt(i) == ' ' || input.charAt(i) == '\n') {
continue;
}
charTypeNum++;
break;
}
if (charTypeNum < 3) {
result = "NG";
return result;
}
//子串
for (int i = 0; i < input.length() - 3; i++) {
String tempStr = input.substring(i, i + 3);
String tempStr2 = input.substring(i + 3, input.length());
if (tempStr2.contains(tempStr)) {
result = "NG";
return result;
}
}
result = "OK";
return result;
}
}