当前位置: 首页 > 知识库问答 >
问题:

Java基本高:低猜谜游戏帮助(循环)

谭泳
2023-03-14

我已经停止编程一段时间了。大概4年左右,我只是想搞乱它,所以我决定做一个高:低数字猜谜游戏。(猜一个数字1-100,如果你猜得太高或太低,程序会说)我完全忘了我该怎么做:

package highlow;

import java.util.Random;
import java.util.Scanner;

public class guessing {
    public static void main(String[] args){

        Scanner input = new Scanner(System.in);

        Random rand = new Random();
        int tries;
        int correctNum = rand.nextInt(100);

        System.out.println("enter a number 1-100");
        int guess1 = input.nextInt();

        if(guess1 < correctNum){
            System.out.println("number is too low!");
        }
        else if(guess1 > correctNum){
            System.out.println("Number is too high!");
        }
        else if(guess1 == correctNum){
            System.out.println("correct!");
        }
        else{
            System.out.println("not a valid option");
        }


    }

}

共有1个答案

南宫鸿晖
2023-03-14

您需要将所有内容封装在while循环中,以便它不断重复,直到用户正确猜测:

// Make the scanner, get the random number etc... Put all the setup and
// stuff you don't want to be repeated here

while (true) {
    System.out.println("enter a number 0-99"); // Changed from 1-100 because rand.nextInt(100)
                                               // returns a number between 0 and 99
                                               // You can do correctNum += 1 to make it between 1 and 100
                                               // But put this in before the while loop starts
    int guess1 = input.nextInt();

    if(guess1 < correctNum){
        System.out.println("number is too low!");
    }
    else if(guess1 > correctNum){
        System.out.println("Number is too high!");
    }
    else if(guess1 == correctNum){
        System.out.println("correct!");
        break; // <---- Add this, this will make the loop stop when the 
               //player gets the answer correct and therefore the program will end
    }
    else{
        System.out.println("not a valid option");
    }
}

而循环重复它们内部的内容,直到它们的()中的语句为false。在我们的示例中,循环将永远进行下去,因为true位于()中,但是使用break语句,当用户正确猜测时循环将结束。

 类似资料:
  • 我想做一个简单的猜谜游戏,电脑应该猜出我在0和100之间选择的数字。尝试运行它,如果数字太低按1,如果数字太高按2。 1.如果我选择50,计算机猜测41,我按1,因为数字太低了 是55吗?2 是26吗?1 是35吗?1 是97吗?2

  • 编写程序生成一个1-100之间的随机数,并将其作为秘密数字保存。然后程序将检查用户是否能猜出秘密号码。用户可以继续猜测数字,直到找到数字或者用户可以输入0,这将终止程序。 null 我被if语句卡住了,也许我的结构不正确。我不确定。

  • 我是JAVA新手,我一直在写一个数字猜谜游戏的代码,计算机从0-500的条件下选择数字:如果数字太低,用户输入0,计算机猜更低的数字;如果数字太高,用户输入1,计算机猜更高的数字 以5个猜测结束游戏 任何建议都将不胜感激!!!:d

  • 我在做一个数字猜谜游戏: 计算机在间隔内生成一个数字 我试着猜测它,并收到一个回复,不管它是高于/低于我的猜测,还是等于我的猜测,我赢了 有一个可以猜测的间隔,还有一个猜测尝试限制

  • 好吧,我知道这个以前有人问过,但我就是想不出哪里出了问题。以下是我的说明: “编写一个程序,生成1到1000之间的随机数。然后让用户猜猜数字是多少。如果用户的猜测值高于随机数,程序应该显示“太高,再试一次”。如果用户的猜测值低于随机数,程序应该显示“太低,再试一次”。程序应该使用一个循环,直到用户正确猜测出随机数。 还有,保持用户猜测次数的计数。当用户正确猜测随机数时,程序应该显示猜测的次数。输入