第6章質問18(パスワードの確認)
- ** 6.18(パスワードの確認)一部のWebサイトには、パスワードに関するいくつかのルールがあります。文字列が有効なパスワードであるかどうかを検出するメソッドを記述します。パスワードの規則は次のとおりであると想定します。
パスワードは8文字以上である必要があります。
パスワードには文字と数字のみを含めることができます。
パスワードには少なくとも2つの数字が含まれている必要があります。
ユーザーにパスワードの入力を求めるプログラムを作成します。ルールを満たしている場合は有効なパスワードを表示し、そうでない場合は無効なパスワードを表示します。
** 6.18(パスワードの確認)一部のWebサイトでは、パスワードに特定のルールが課されています。文字列が有効なパスワードであるかどうかをチェックするメソッドを記述します。パスワードのルールは次のとおりです
。
パスワードは8文字以上である必要があります。パスワードは文字と数字。
パスワードには少なくとも2桁の数字が含まれている必要があります。
ユーザーにパスワードの入力を求め、ルールに従っている場合は有効なパスワードを表示し、そうでない場合は無効なパスワードを表示するプログラムを作成します。
- 参照コード:
package chapter06;
import java.util.Scanner;
public class Code_18 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter a string: ");
String str = input.nextLine();
if (passwordTestLength(str) && passwordTestLetterOrDigit(str) && passwordTestNumber(str))
System.out.println("Valid Password");
else
System.out.println("Invalid Password");
}
public static boolean passwordTestLength(String str){
if (str.length() >= 8)
return true;
else return false;
}
public static boolean passwordTestLetterOrDigit(String str){
for (int i = 0;i < str.length();i++){
if (!Character.isLetterOrDigit(str.charAt(i)))
return false;
}
return true;
}
public static boolean passwordTestNumber(String str){
int number = 0;
for (int i = 0;i < str.length();i++){
if (Character.isDigit(str.charAt(i)))
number++;
}
if (number >= 2)
return true;
return false;
}
}
Enter a string: jxh1025
Invalid Password
Process finished with exit code 0