Java授業後の練習問題——パスワードの検証
2018 ワード
ブログサイトにはパスワードを検証するルールが設定されており、文字列が合法的なパスワードであるかどうかを検証する方法が書かれています.
ルールは次のとおりです.
1)パスワードの長さは8-16の間である
2)パスワードにはアルファベットと数字しか含まれません
3)パスワードには少なくとも2つの数字が必要
ユーザーが入力したパスワードがルールに合致する場合、valid passwordが表示されます.そうしないと、Invalid passwordが表示されます.パスワードがルールに合致するとvalid passwordが表示されます.そうしないと、Invalid passwordが表示されます.
メソッド1:(一般的なアプローチではCharacterクラスのメソッドを使用)
方法2:(正規表現を使用)
正規表現を使用してこの問題を作成するとimport java.util.*;Patternクラスはまだ含まれていません.import java.util.regex.Patternが必要です.またはimport java.util.regex.*;その後、インターネットで検索すると、*は現在のディレクトリのみを含み、サブディレクトリの下のclassファイルは含まれていないことがわかりました.
ルールは次のとおりです.
1)パスワードの長さは8-16の間である
2)パスワードにはアルファベットと数字しか含まれません
3)パスワードには少なくとも2つの数字が必要
ユーザーが入力したパスワードがルールに合致する場合、valid passwordが表示されます.そうしないと、Invalid passwordが表示されます.パスワードがルールに合致するとvalid passwordが表示されます.そうしないと、Invalid passwordが表示されます.
メソッド1:(一般的なアプローチではCharacterクラスのメソッドを使用)
class Test{
public static int numberCount(String s)
{//
int count=0;
for(int i=0;i=2 && s.length()>=8 && s.length()<=16 && testWord(s))
System.out.println("valid password");
else
System.out.println("Invalid password");
}
}
public class TestPassword {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println(" :");
String password = input.nextLine();
Test t=new Test();
t.testPassword(password);
}
}
方法2:(正規表現を使用)
正規表現を使用してこの問題を作成するとimport java.util.*;Patternクラスはまだ含まれていません.import java.util.regex.Patternが必要です.またはimport java.util.regex.*;その後、インターネットで検索すると、*は現在のディレクトリのみを含み、サブディレクトリの下のclassファイルは含まれていないことがわかりました.
import java.util.regex.Pattern;
import java.util.Scanner;
public class Password{
public static void main(String[] args) {
String str_1="[a-zA-Z0-9]{8,16}"; // , 8-16
String str_2=".*\\d.*\\d.*"; // 2
Scanner input=new Scanner(System.in);
System.out.println(" :");
String password=input.nextLine();
if(Pattern.matches(str_1,password)&&Pattern.matches(str_2,password))
{
System.out.println("valid password");
}
else
{
System.out.println("Invalid password");
}
}
}