РЕДАКТИРОВАТЬ - ВЕРСИЯ Первый пост был confusamagin.Мое задание - создать программу для ввода пароля.Необходимо проверить пароль, чтобы увидеть, содержит ли он хотя бы одну цифру и одну букву.Кроме того, длина пароля должна быть в диапазоне от 6 до 10.
Моя проблема состоит в том, чтобы выяснить, как определить, существует ли пароль цифра и буква.В области проверки пароля я не уверен, с чего начать.Я не уверен, как увидеть, есть ли в нем буква и цифра.Я знаю, как это сделать, или с помощью оператора for для подсчета и проверки, но все, что он делает, это проверяет, чтобы увидеть, что он содержит все буквы или все цифры.
Ниже приведено то, что у меня есть ...
import java.util.Scanner;
class Password {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
//------ENTER A USERNAME
System.out.println("Welcome please enter your username and password.");
System.out.print("Username >>");
input.nextLine();
//------PASSWORD AUTHENTICATION BEGIN
String password = enterPassword();
while ( !checkPassword(password) ) {
System.out.println("Password must be 6 - 10 characters long!");
password = enterPassword();
}
//------PASSWORD VERIFY
String passwordverify = enterPassword();
while (!password.equals(passwordverify)){
System.out.println("ERROR - Passwords DO NOT MATCH Re-Enter Passwords Again");
password = enterPassword();
}
//------ACCEPT PASSWORD
System.out.println("Username and Password Accepted!");
}
//--ENTER PASSWORD STATEMENT
public static String enterPassword(){
String password;
Scanner input = new Scanner(System.in);
System.out.print("Password >>");
password = input.nextLine();
return password;
}
//--BOOLEAN CHECK PW
public static boolean checkPassword(String password){
int length;
length = password.length();
if (length < 6 || length > 11){
return false;
}
for (int i = 0; i < password.length();i++){
if (!Character.isLetter(password.charAt(i)))
return false;
}
return true;
}
}