2017-08-12 12 views
0

Word_generator()というコンストラクターを持つプログラムを作成しました。このコンストラクタの内部には、のインスタンス変数countがあります。私がプログラムを実行して結果を見ると、countが増加しているとは限りませんが、プログラムが終了したことに気付きました。これが私に迷惑をかける理由は、countがコンストラクタの最後のループwhileの条件付きチェックの一部として使用されているためです。参考のためJavaのランダムな文字列条件

が、ここで私が働いているコードは次のとおりです。ここで

private String[] array = {"hello", "hi", "what is your name"}; 

private String getRandomCharacter() { 
    return array[random(array.length)]; 
} 

private int random(int length) { 
    return new Random().nextInt(length); 
} 

protected Word_generator() { 
    boolean running = true; 
    int count = 0; 
    int max = 200; 
    while (running) { 
     StringBuilder sb = new StringBuilder(); 

     for (int i = 0; i < 1; i++) { 
      sb.append(getRandomCharacter()); 
      System.out.println(); 
      System.out.println("Word-->"); 
     } 

     System.out.println(sb.toString()); 


     if (count++ == max) { 
      running = false; 
      System.out.println("finished"); 
     } 
    } 
} 
public static void main(String[] args) { 
    new Word_generator(); 

} 
+0

あなたは何をする必要がありますか? –

+0

完成した印刷物とプログラムはどのように終了しましたか? –

+1

whileループでは、条件が 'count ++ == max'にチェックされるたびに、カウントが増加します。 maxの値に達すると、プログラムは終了します – OutOfMind

答えて

1

(カウント++ == max)の場合、カウントの値がこの行 で増加している{...} 最初にcountがmaxに等しいかどうかチェックされ、equals then runningがfalseに設定され、ループが終了すると、それ以外の場合は1だけインクリメントされます。

+0

私はそれを得る...... ......感謝の男.. –