这一些帮助,是我迄今为止需要一个密码检查程序
public static void main(String[] args) {
// TODO code application logic here
String password;
Scanner kb = new Scanner(System.in);
System.out.print("Please enter your password: ");
password = kb.nextLine();
if (passwordOK(password))
{
System.out.println("Valid Password");
}
else
{
System.out.println("Invalid Password");
}
}
public static boolean passwordOK(String password) {
if (password == null) return false;
if (password.length() <= 8) return false;
boolean containsUpperCase = false;
boolean containsLowerCase = false;
boolean containsDigit = false;
for(char ch: password.toCharArray()){
if(Character.isUpperCase(ch)) containsUpperCase = true;
if(Character.isLowerCase(ch)) containsLowerCase = true;
if(Character.isDigit(ch)) containsDigit = true;
}
return containsUpperCase && containsLowerCase && containsDigit;
}
}
我需要什么有
•密码必须至少8个字符长。
•密码必须至少包含:
一个字母字符[A-ZA-Z];
一个数字字符[0-9];
一个字符不能是字母或数字,如
! @ $%^ & *() - _ = + []; 。?'“,<>/
•密码不得:
包含空格;
开始用感叹号或问号[!]? ];
•密码不能包含3个或更多相同字符的重复字符串,如“1111”或“aaa”。
我现在有点卡住所以在想,如果有人能伸出援手,也许抛出一些示例代码我的路
编辑:Ashutosh说,我怎么会将此代码添加到您的程序没有收到错误
String password2;
System.out.print("\nPlease type your password again to confirm: ");
password2 = kb.nextLine();
while(!password2.equals(password))
{
System.out.print("Those passwords do not match. Try again: ");
password2 = kb.nextLine();
}
添加了一个编辑功能,如果您可以在我的主帖中帮助我的话 – archer
就在您打印“有效密码”之前,您可以将您的代码确认密码。 – Atri
我的代码有问题,因为在输入第一个密码后,我输入第二个密码进行确认,第二个密码输入无效密码 – archer