描述
密码要求:
1.长度超过8位
包括大小写字母.数字.其他符号,上述四种至少三种
3.不含公共元素的子串不能重复长度大于2 (注:其他符号不含空格或换行)
数据范围:满足输入字符串的长度 1≤n≤1001 \le n \le 100 \ 1≤n≤100
输入描述:
一组字符串。
输出描述:
若输出符合要求:OK,否则输出NG
示例1
输入:
021Abc9000 021Abc9Abc1 021ABC9000 021$bc9000
输出:
OK NG NG OK
代码:
import java.util.*; public class Main{ public static void main(String args[]){ String s=null; Scanner sc=new Scanner(System.in); while(sc.hasNext()){ s=sc.next(); int len=s.length(); if(len<=8){ System.out.print("NG"); }else{ int dif=0; int xiaoxie=0; int daxie=0; int teshu=0; int shuzi=0; char c; // boolean flag=false; for(int i=0;i<len;i ){ c=s.charAt(i); if(Character.isLetterOrDigit(c)){ if(Character.isLowerCase(c)){ xiaoxie=1; }else if(Character.isUpperCase(c)){ daxie=1; }else if(Character.isDigit(c)){ shuzi=1; } }else{ int temp=Integer.valueOf(c); if(temp!=32&&temp!=10){ teshu=1; } } } dif=teshu xiaoxie daxie shuzi; // System.out.println("dif=====>" dif); if(dif<3){ System.out.println("NG"); }else{ String t; String qian; int i; for(i=3;i<len;i ){ t=s.substring(i-2,i 1); qian=s.substring(0,i-2); if(qian.contains(t)){ // System.out.println("相同穿==》" t "====" qian); break; } } if(i==len){ System.out.println("OK"); }else{ System.out.println("NG"); } } } } } }