그래서이 프로그램에서는 암호를 입력하라는 메시지가 표시되지만 암호는 8 자 이상이어야하며 글자와 숫자 만 포함해야합니다. 여기 내 코드입니다 :사용자에게 암호를 입력하고 조건을 확인하도록 요청하는 프로그램
import java.util.Scanner;
public class Password {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);
System.out.println("Please enter a password: ");
String password = input.nextLine();
boolean valid = true;
if (valid(password)) {
System.out.println("Password accepted!");
}
}
public static boolean valid(String password) {
if (password.length() < 8) {
System.out.println("Password must have at least eight characters.");
return false;
} else {
char c;
for (int i = 0; i < password.length(); i++) {
c = password.charAt(i);
if (password.matches("[0-9a-zA-Z]+")) {
return true;
} else {
System.out.println("Password must only contain letters and digits.");
return false;
}
}
return true;
}
}
}
제가하는 데 문제는 내가 $$$ 같은 입력을 입력 할 때, 유일한 출력은 "암호는 8 자 이상이 있어야합니다"라고,하지만 난이 출력이 모두 필요 및 "암호는 문자와 숫자 만 포함해야합니다."즉, 두 조건이 모두 거짓인지 확인하고 두 출력을 모두 표시하는 프로그램이 필요합니다. 어떻게 수행합니까?
또한, 내 프로그램을 개선하는 방법에 대한 제안은 도움이 될 것입니다.
감사합니다.
'else'문에서 입력 길이를 검사하는 조건을 추가하십시오. – Mena
@ 메나 그걸 시도해 볼게요, 고마워요! –