package ppt10lang包;
import java.util.Scanner;
import org.junit.Test;
//1.密码位数6位
//2.密码不可以是纯数字或是纯字母 0-9 AAAAAA---zzzzz
//3.密码必须包含以下特殊字符之一: _ , @ &
public class TestSecret {
public static void main(String[] args) {
String str;
Scanner input = new Scanner(System.in);
System.out.println("请输入密码(六位)");
str = input.nextLine();
if(testNum(str)&&testDigitLetter(str)&&testSpecial(str)){
System.out.println("密码合法");
}else{
System.out.println("密码不合法");
}
}
public static boolean testNum(String str){
if(str.length()>=6){
return true;
}else{
System.out.println("密码必须大于等于6位!");
return false;
}
}
/**
* 没有存在纯数字或者纯字母的时候,则返回true;
* 存在则返回false
* @param str
* @return
*/
@Test
public static boolean testDigitLetter(String str){
int digit = 0;
int letter = 0;
char[] ch = str.toCharArray();
for (char i:ch) {
if(Character.isLetter(i)){
letter++;
}
if(Character.isDigit(i)){
digit++;
}
}
if(letter == ch.length||digit == ch.length){
System.out.println("密码不能纯数字或纯字母");
return false;
}else{
return true;
}
}
public static boolean testSpecial(String str){
boolean flag = false;
//静态定义字符数组
char[] ch1 = {'_',',','@','&'};
for(char i:ch1) {
if(str.indexOf(i)>=0){
flag = true;
break;
}
}if(flag == false){
System.out.println("密码必须包含以下特殊字符之一: _ , @ &");
}
return flag;
}
}