【发布时间】:2017-11-17 01:08:49
【问题描述】:
已经为此奋斗了一段时间,对 java 还是很陌生,并且真的在为这个任务而苦苦挣扎。我们打算进行密码检查器分配,检查输入的 2 个密码是否相同。然后还要根据一些“要求”检查它们,例如密码长度至少为 8 个字符、1 个特殊字符、1 个大写和 1 个小写、连续重复字符不超过 3 次(即“aaa”)。
非常感谢您提出任何意见或批评,并在此先感谢您。
import java.util.Scanner;
/**
*
* @author Jonot
*/
public class Passwords {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
//Asks and records users inputted passwords
Scanner input = new Scanner(System.in);
System.out.println("Please enter your password");
String password = input.nextLine();
System.out.println("Please re-enter your password");
String passwordCheck = input.nextLine();
//boolean to check if the inputted passwords meets requirements set below
boolean check;
check = isConfirmed(password);
while (!password.equals(passwordCheck) || (!check)) {
System.out.println("The password you entered is invalid");
System.out.println("Please try again");
password = input.nextLine();
System.out.println("please re-enter");
passwordCheck = input.nextLine();
check = isConfirmed(password);
//String password = input.nextLine();
//check = isConfirmed(password);
//if passwords meets boolean requirements,
if (isConfirmed(password)) {
//this will print out. Doesn't work right now.
System.out.println("password is valid");
} else {
}
}
}
//Boolean variables and they're set requirements. Do not work right now.
//Not sure why.
public static boolean isConfirmed(String password) {
Boolean leastOneUpperCase = false;
Boolean leastOneLowerCase = false;
Boolean leastOneDigit = false;
Boolean oneSpecialCharacter = false;
if (password.length() < 8) {
return false;
}
for (int i = 0; i < password.length(); i++) {
if (Character.isUpperCase(password.charAt {i
));
{
leastOneUpperCase = true;
}
else if (Character.isLowerCase(password.charAt(i)));
{
leastOneLowerCase = true;
}
else if (Character.isDigit(password.charAt(i)));
{
leastOneDigit = true;
}
}
return (leastOneUpperCase && leastOneLowerCase && leastOneDigit);
}
return false;
}
【问题讨论】:
-
应该添加..但没有及时添加。现在它要求输入,但根本没有成功检查。我在 else ifs 块中遇到了 .charAt 问题。
-
您有问题吗?