2017-08-12 86 views
0

我写了一个程序,它有一个名为Word_generator()的构造函数。在此构造函数内部,有一个int类型的实例变量,名为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'时,计数都会增加。当它达到最大值时,程序终止 – OutOfMind

回答

1

计数的值是在该行正在增加 如果(计数++ ==最大){...} 这里,首先检查计数是否等于max,如果等于则运行设置为false并且循环结束;否则计数加1。

+0

ooooo我明白了......谢谢.. –