我已经写了一些代码,但我似乎无法弄清楚如何获取字符,数字或符号的确切数量。我固定了我的代码,但它不起作用,我不知道为什么。提示用户输入与特定模式匹配的密码
我的要求是
写,提示用户输入匹配特定模式的密码的Java程序。你的程序必须批准该用户的条目。这里是模式,顺序如下:
-1 or more upper case letters
-two lower case letters
-1 or 2 digits
-zero or 1 upper case letters
-any two of this group @#$%^&
我的代码:
import java.util.Scanner;
public class TestingCenter {
public static void main(String[] args) {
int digit=0;
int special=0;
int upCount=0;
int upCount2=0;
int loCount=0;
String password;
Scanner scan = new Scanner(System.in);
System.out.println(" Enter Your Password:");
password = scan.nextLine();
for(int i =0;i<password.length();i++){
char c = password.charAt(i);
if(Character.isUpperCase(c)){
upCount++;
}
if(Character.isLowerCase(c)){
loCount++;
}
if(Character.isDigit(c)){
digit++;
}
if(Character.isUpperCase(c)){
upCount2++;
}
if(c>=33&&c<=46||c==64){
special++;
}
}
if(special==2&&loCount==2&&upCount>=1&&(digit==1||digit==2)&&upCount2<=1){
System.out.println(" Password is good:");
}
}
}
哪部分指示要求你计算什么? –
“1或2位数字”:“数字> = 1”是否真的捕获了? “这个小组中的任何两个@ @ $%^&” – Henry
“两个小写字母”应该是“两个或多个小写字母”还是“正好两个小写字母”? –