【发布时间】:2018-09-30 05:27:08
【问题描述】:
主程序应要求输入 8 个字符、1 个大写、1 个小写和 1 个数字的密码。一旦通过要求,它应该要求用户重新输入密码并检查两个密码是否匹配。我需要帮助将该部分添加到我的代码中。目前,代码编译没有问题。
import java.util.Scanner;
public class PassChecker2 {
public static void main (String [] args) {
Scanner input = new Scanner(System.in);
String inputPassword;
System.out.println(" Please enter your Password:");
inputPassword = input.next();
System.out.println(checkerPass(inputPassword));
System.out.println("");
//main(args);
}
public static boolean lenthgCk (String password) {
if (password.length() > 7) {
if(checkerPass(password)) {
return true;
}
}
else {
System.out.println("Password must be at least 8 characters long.");
return false;
}
return true;
}
public static boolean checkerPass (String password) {
boolean hasUpperCase = false;
boolean hasLowerCase = false;
boolean hasDigit = false;
char c;
for (int i = 0; i < password.length(); i++) {
c = password.charAt(i);
if(Character.isUpperCase(c)) {
hasUpperCase = true;
}
else if(Character.isLowerCase(c)) {
hasLowerCase = true;
}
else if(Character.isDigit(c)) {
hasDigit = true;
}
if(hasUpperCase && hasLowerCase && hasDigit) {
return true;
}
else {
System.out.println("Password is invalid must meet all requirements.");
return false;
}
}
return true;
}
}
【问题讨论】:
-
比较密码? String1.equals(String2);?
-
这是一个很好的例子,说明为什么代码格式很重要。您的
return语句在循环内。 -
好的,我会纠正谢谢!