2016-03-07 56 views
0
public class LockPicker { 
    public static void main(String[] args) { 
     System.out.println ("Picking the lock..."); 
     boolean lock = false; 
     while (lock==false) 
     { 
      int counter = 0; 
      int number = (int)(Math.random() * 99 + 1); 
      System.out.println(number); 
      if (number!=55){ 
       lock = false; 
       ++counter; 
      }else{ 
       lock = true; 
       System.out.println("That took "+counter+" tries!"); 
      } 
     } 
    } 
} 

你好,每次添加1個到一個整數?

我已經設置了任務,我必須寫一個程序,將產生10和99的程序 之間的隨機數應該繼續重複,直到創建了數55。該程序應該輸出如何 許多企圖得到55.

它工作正常,並達到55時停止。但是,計數器始終保持在0.它永遠不會將1添加到變量計數器。

+2

'INT計數器= 0;'在while循環的頂部。 – Tunaki

+0

這裏的一個重要教訓是變量*的範圍*。 [看這裏](http://www.java-made-easy.com/variable-scope.html)有一個簡單的解釋 - 也許它會幫助你理解。 –

+0

你的代碼可以簡化很多。你根本不需要布爾鎖。你可以使用一些叫做break的東西。不需要'else'子句。你可以在循環結尾有'++ counter;',然後在'if(number == 55){System.out.println(「That took」+ counter +「tries!」);打破; }' – Gendarme

回答

4

while循環之前移動int counter = 0;行。

每次循環運行時,你初始化counter變量爲0,這就是爲什麼它總是保持爲0。

+0

謝謝,它工作! – JoeMaynard

+0

@JoeMaynard你可以通過點擊除了答案之外的大複選標記來接受答案,如果它對你有幫助。 – Atri

相關問題