2015-11-19 63 views
-1

編寫一個名爲makeGuesses的方法,它將猜測1到50之間的數字,直到它猜測至少48個爲止。它應該報告每個猜測,並在最後報告所做的猜測總數。下面是一個示例執行:如何讓程序繼續進入while循環?

guess = 43 
guess = 47 
guess = 45 
guess = 27 
guess = 49 
total guesses = 5 

THIS IS到目前爲止我的代碼:

import java.util.*; 

public class Guesses 
{ 
    public static void main(String[] args) 
    { 
    Scanner console = new Scanner(System.in); 
    Random r = new Random(); 

    int i = -1; 
    int count = 0; 
     if (!(i >= 1 && i <= 50)) 
     { 
     System.out.print("guesses = "); 
     i = r.nextInt(50)+1; 
     System.out.println(i); 
     count++; 
     } 

    System.out.println("total guesses = "+ count); 
    } 
} 

但它只是猜測一次,並不會持續猜測? 到目前爲止,我看起來就像這樣:

guesses = 36 
total guesses = 1 

OR

guesses = 23 
total guesses = 1 

它只是猜測一次。

+0

有沒有您所定義迭代直到48發生循環,在循環之後也改變if條件當它返回false時,當我= 23或我= 36 – Shivam

+0

@Shivam不,我希望它的程序保持猜測隨機數,所以它看起來像提示的輸出。它應該繼續猜測,直到它猜到50以上的數字爲止......我只是隨意使用了36和23,以顯示我當前正在獲得的輸出結果。 – TeSa

回答

0

的代碼

if (!(i >= 1 && i <= 50)) { 
    System.out.print("guesses = "); 
    i = r.nextInt(50)+1; 
    System.out.println(i); 
    count++; 
} 

這部分是如果statment,而不是一個循環。這就是爲什麼它只輸入一次。之前它添加while循環或更換,如果通過,同時或任何你需要

+0

我用while來測試它,但是繼續只產生一個猜測作爲輸出。 – TeSa

+0

什麼是循環條件?請使用while循環編輯您的問題,以便我可以爲您提供幫助 – user4442067

+0

程序應該猜測1到50之間的數字,直到它猜測至少48個爲止。它應該報告每個猜測,並在最後報告猜測總數製作。我被告知要定義它必須是至少48,但我不知道如何或在哪裏插入。 – TeSa

0

我會做這樣的:

public static void guessCounter() { 
    int maxNr = 50; 
    int upperLimit = 48; 
    int totalGuesses = 0; 
    int currGuess; 
    Random r = new Random(); 
    do { 
     currGuess = r.nextInt(maxNr) + 1; 
     System.out.println("guess = " + currGuess); 
     totalGuesses++; 
    } while (currGuess < upperLimit); 
    System.out.println("total guesses = " + totalGuesses); 
}