import java.util.Scanner;
public class Texi {
public static void main(String[] args) {
//检查密码强度,密码最长为12个字符。规则为:长度小于等于6且只含有数字字符的强度为弱;长度超过10且同时包含数字、字母、和数字字母以外的字符为强;其它为中。
Scanner input=new Scanner(System.in);
String password;
//判定条件的元素
char[] letter=new char[62];
for (int i=0; i<26; i++){
letter[i]=(char)(65+i);
letter[i+26]=(char)(97+i);
if(i<10) {
letter[i+52]=String.valueOf(i).charAt(0);;
}
}
String dege="**************************";
System.out.println(dege+"\n**欢迎使用密码测试器V1.0**");
boolean star=true;
while(star) {
System.out.print(dege+"\n请输入密码(0退出):\n");
password=input.nextLine().replace(" ", "");
char[] charArray;
charArray=password.toCharArray();
if(charArray.length>12||charArray.length==0) {
System.err.println("密码越界!");
continue;
}
if(charArray[0]=='0'&&charArray.length==1) {
System.out.print("程序结束!");
break;
}
//length=0时长度小于等于6,length=2时长度大于10
int length=-1;
if(charArray.length<=6) {
length=0;
}else if(charArray.length>10) {
length=2;
}else {
length=1;
}
//判断是否有其他字符
boolean number=true;
boolean term=false;
for(char j:charArray) {
term=false;
for(int i=0;i<letter.length;i++) {
if((letter[i])==j) {
if(i<52) {
number=false;
}
term=true;
break;
}
}
if(!term) {
number=false;
break;
}
}
String strength="";
if(number==true||length==0) {
strength="弱";
}else if(term==false&&length==2) {
strength="强";
}else {
strength="中等";
}
System.out.println("密码强度为:"+strength);
}
input.close();
}
}