簡體   English   中英

我如何為這個猜謎游戲創建一個 for 循環?

[英]How do I create a for loop for this Guessing game?

我真的不知道如何表達這個,這就是為什么這些問題看起來有點奇怪或像初學者一樣。 我正在為我的 Java 課程作業創建一個猜謎游戲,但我在某一方面遇到了問題。

這是我迄今為止的全部代碼:

import java.util.Random;
import java.util.*;

public class GuessingGame{ 

    public static void main(String args[]) 
    {

        System.out.println("Welcome to the greatest Guessing Game known to mankind!");
        System.out.println("-------------------------------------------------------\n");
        System.out.println("You will be guessing what number I am guessing by entering your guess.");
        System.out.println("The number will be between 1 to 100\n");

        Scanner start = new Scanner(System.in);
        System.out.println("Do you want to start the game?(1 for Yes, 2 for fun facts before starting the game!)\n");
        int getStart = start.nextInt();

        // testing random number generator
        //System.out.println(Math.random() * 100);

        if(getStart == 1)
        {
            Process();
        }

    }

    public static void Process ()
    {
        int max = 100;
        int min = 1;

        Random ranNum = new Random();
        int ActualNum = min + ranNum.nextInt(max);
        System.out.println(ActualNum);

        //for(int i = getGuess; i == ActualNum; i++)
        //{
        Scanner guess = new Scanner(System.in);
        System.out.println("\nI am thinking of a number...");
        System.out.println("What's your guess?\n");
        int getGuess = guess.nextInt();

        if (getGuess < ActualNum)
        {
            System.out.println("Higher!");
        }

        if (getGuess == ActualNum)
        {
            System.out.println("\nCorrect! You've won!");
        }   
        //}

    }
}

如您所見,我注釋掉了 For 循環部分,但我正在嘗試創建一個 for 循環,以便它獲取 getGuess,即用戶輸入,直到用戶正確輸入為止。 我希望它繼續給出“猜得更高!” 或“猜得更低!” 每次用戶輸入一個數字時都會提示,而無需運行一次並完成程序。

謝謝,我希望我提出問題的方式是有道理的。 我是初學者,需要幫助。 :)

順便說一句:我知道我正在打印他們必須猜測的數字。 我只是在測試一些東西。

嘗試做這樣的事情

    int getGuess = 0;

    while (getGuess != actualNum) {

        System.out.println("What's your guess?\n");
        Scanner guess = new Scanner(System.in);
        getGuess = guess.nextInt();


        if (getGuess < actualNum) {
            System.out.println("Higher!");
        }

        if (getGuess == actualNum) {
            System.out.println("\nCorrect! You've won!");
        }
    }

輸出將是這樣的: 程序的輸出

一種簡單的方法是更改​​ getGuess 變量的范圍並使用 while 循環。 通過這種方式,您可以在每次嘗試進入循環時檢查該值。 將值初始化為不會進行檢查的值(例如 0,因為它不在 [1,100] 中)。

[...]
int getGuess = 0;
Scanner guess = new Scanner(System.in);

while(getGuess != ActualNum)
{
    System.out.println("\nI am thinking of a number...");
    System.out.println("What's your guess?\n");
    getGuess = guess.nextInt();

    if (getGuess < ActualNum)
    {
        System.out.println("Higher!");
    }

    if (getGuess == ActualNum)
    {
        System.out.println("\nCorrect! You've won!");
    }
}
[...]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM