「Javaのプログラミング言語」プログラミングは6.18(検出コード)を演習します

6.18(パスワードの検出)いくつかのサイトのパスワードは、いくつかのルールがあります。文字列が有効なパスワードであるかどうかを検出するための方法を記述します。
    次のようにパスワードルールがあると仮定すると:
    •パスワードは8文字以上でなければなりません。
    •パスワードには文字と数字のみを含めることができます。
    •パスワードには、少なくとも2つの数値を含んでいなければなりません。
彼らは規則を満たしていれば、有効なパスワードが表示され、パスワードの入力を促し、プログラムを書く、そうでない場合は無効なパスワード。
1  / **      ファイル名:passwdRule.java   
 2          機能:検出パスワードは、パスワード・ルールを入力したかどうかを
 3          時間作成:2019年10月17日に
 4。         郵便:[email protected]
 5。   * / 
6。 
7。 インポートjava.util.Scanner;
 8。 パブリック クラスpasswdRule {
 9。     パブリック 静的 ボイドメイン(文字列[]引数){
 10  
11。          スキャナ入力= 新しい新しいスキャナ(System.in);
 12は          System.out.print( "パスワードを入力してください"という13である          文字列のpasswd = 入力。次の();
 14 
15          // チェックパスワード
16を         IF (passwdDigit(passwdファイル)){
 17              IF((getPasswdNumber(passwdファイル)> = 2)&&((getPasswdNumber(passwdファイル)+ getPasswdDigitNumber(passwdファイル))== passwd.length())){
 18れます                  System.out.println( "介して有効なパスワード" );
 19              } そう
20は                  するSystem.out.println( "無効なパスワードが失敗" );
 21である          } {
 22である              ( "無効なパスワードが失敗"のSystem.out.println )。
 23          }
 24      }
 25      
26である     ** /ビット長のpasswdの数が行のルールに一致するかどうかを検出する真に戻る* / 
27      パブリック 静的 ブール{passwdDigit(文字列のpasswd)
 28          //は、最大文字数制限と下限キャラクタ・セット
29          ファイナル INT MAX = 1024 ;
 30          ファイナル INT。MIN = 8 31は、         INT passwdLength = passwd.length();
 32          IF((passwdLength> = MIN)&&(passwdLength < MAX))
 33で             返す trueに34は、         戻り falseに;
 35      }
 36  
37      / ** passwdに数値や文字の数を返します、kは数0を表し、1文字を表します* / 
38      パブリック 静的 INT getPasswdDigitNumber(文字列のpasswd){
 39          // 字母个数
40          INT digitNumber = 0 41          チャーdigitUpper。
42          のためにint型 i = 0; iが++; iがpasswd.length()< ){
 43              digitUpper = Character.toUpperCase(passwd.charAt(I))を、
44              であれば(digitUpper> 'A' && digitUpper < 'Z' 45                  digitNumber ++ 46          }
 47          リターンdigitNumber。
48      }
 49 
50      / ** 返回のpasswd的数字个数* / 
51      パブリック 静的 INT getPasswdNumber(文字列のpasswd){
 52          のint番号= 0 53          INT arrayNumber。
54          
55          のためにint型、iはpasswd.lengthを()<; I = 0 iは++ ){    
 56              arrayNumber = passwd.charAt(I)。
57              であれば((INT)arrayNumber> 47 &&(INT)arrayNumber <58 58                  数++ 59          }
 60          リターン数;
61      }
 62 }

 

このコードは書き込みを削除し、一晩書かれ、そして最終的のcharAtを発見された(I)これが鍵です!

おすすめ

転載: www.cnblogs.com/buyiyangdefengcai/p/11696102.html