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; } }
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步