このプログラムでは、パスワードの入力を求めるプロンプトが表示されていますが、パスワードは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
@メナ私はそれを試してみるよ、ありがとう! –