キーコードが一連の条件に一致するかどうかを確認するための簡単なJavaプログラムを作成したいと思います。
これは私がこれまでに持っているものです:
Scanner keycode = new Scanner(System.in);
System.out.println("Input keycode");
String key1 = keycode.nextLine();
do {
if (key1.length() < 6 || key1.length() > 8) {
System.out.println("must be at least 6 letter and max 8 letter");
return;
}
else {
boolean upper = false;
boolean lower = false;
boolean number = false;
for (char c : key1.toCharArray()) {
if (Character.isUpperCase(c)) {
upper = true;
} else if (Character.isLowerCase(c)) {
lower = true;
} else if (Character.isDigit(c)) {
number = true;
}
}
if (!upper) {
System.out.println("must contain at least one uppercase character");
return;
} else if (!lower) {
System.out.println("must contain at least one lowercase character");
return;
} else if (!number) {
System.out.println("must contain at least one number");
return;
} else {
return;
}
}
} while (true);
System.out.println("Input keycode again");
String key2 = keycode.nextLine();
if (key1.equals(key2)) {
System.out.println("keycode matched");
} else {
System.out.println("keycode dont match");
}
ユーザーはキーコードを入力するように求められます。
プログラムは最初に、それが6文字を超え8文字未満であるかどうかをチェックします。
次に、小文字、大文字、および数字が含まれているかどうかを確認します。
ユーザーがもう一度やり直すのではなく、間違いを犯した場合にパスワードをもう一度入力できるようにしたいと思います。
成功すると、ユーザーにキーコードを再度入力するように求められます。2つのキーコードが一致しない場合、ユーザーは再試行できます。3回失敗すると、システムは「キーコードの不一致」で応答します。
私が支援を必要としているのは、要件に合わない場合やパスワードの不一致がある場合に、ユーザーがパスワードを入力できるようにすることです。6文字未満のパスワードを入力すると、次の出力が得られます。
must be at least 6 letter and max 8 letter
must be at least 6 letter and max 8 letter
must be at least 6 letter and max 8 letter
must be at least 6 letter and max 8 letter
must be at least 6 letter and max 8 letter