2012-04-29 6 views
0
public class Driver { 

public static void main(String[] args) { 


    int length=0; 
    int MaxNumber=100; 
    StringBuilder password = new StringBuilder(); 





    do { 
     if (PasswordGenerator.matchLength (length)) { 
      break; 
     } 
     length++; // length is randomly picked 
    } while (length < MaxNumber); // or <100 
    System.out.println("The length of the character string is " + length); 


    int index = 0; 
    char f = 0; 


    for (char d = 0; d < 127; d++) { 
     if(PasswordGenerator.matchCharAt(d, index)) { 
      password.append(d); 
      System.out.println("Hey! Char at " + index + " is " + d); 
      d++; 
     } 
    } 



} 
} 

を通してループだから私はループを経由して私のランダムに生成されたパスワードの最初の文字を見つける方法を発見した、と私はどちらかそのループを使用してパスワードで他の文字を見つけるために、それを提供できるか不思議でしたか別の文字は、ループがランダムに生成される時間の長さに従います。 PasswordGeneratorクラスのドキュメントはここにあります。(http://www.technology.heartland.edu/faculty/todds/csci130/assignments/A5_password/doc/index.html)生成された文字

+0

PasswordGenerator'事はかなり貧弱である '、少なくとも全体のことをループにあなたを強制することなく、あなたにパスワードの長さを与えることができる必要があること。 – debracey

答えて

0

indexの値を見つけようとしているキャラクターの位置。あなたがそれらのすべてを検索したい場合は...

for(int j=0; j < length; j++) 
{ 
     for (char d = 0; d < 127; d++) 
     { 
     if(PasswordGenerator.matchCharAt(d, j)) 
     { 
      password.append(d); 
      System.out.println("Hey! Char at " + index + " is " + d); 

      // No sense in incrementing d and going through all of them 
      // You found it already, break this loop 
      break; 
     } 
    } 
} 
+0

これらの文字を1行に追加することができます。 –

+0

パスワード 'StringBuilder'に文字を追加しています。それが終わると、 'password'変数は全てを持ちます。それを印刷することができます。 'password'のすべての文字の間に改行が必要な場合は、' .appendLine() 'を使います。ご質問の前にAPIをお読みください。 – debracey

関連する問題