Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要帮助使用java重新创建带有while循环和其他循环的猜谜游戏吗_Java - Fatal编程技术网

需要帮助使用java重新创建带有while循环和其他循环的猜谜游戏吗

需要帮助使用java重新创建带有while循环和其他循环的猜谜游戏吗,java,Java,好的,我需要一个学校作业的帮助,我现在一直在做,我需要很多帮助。我已经试了好几个小时了,但仍然不知道如何完成这项任务。下面是我的代码 我正在尝试创建一个猜谜游戏。我一直坚持的是我应该如何循环10次猜测,而不是更多。我试过了,它给了我一个无限循环 我想要创造的是: 从1和100中选择一个数字,玩家不知道该数字是什么 玩家被要求猜一个从1到100的数字 他们有10次机会猜对数字 如果玩家在10次猜测中没有猜到正确的数字,那么玩家将输掉游戏 你让他们知道他们的猜测是否太低或太高,以帮助他们缩小猜测范

好的,我需要一个学校作业的帮助,我现在一直在做,我需要很多帮助。我已经试了好几个小时了,但仍然不知道如何完成这项任务。下面是我的代码

我正在尝试创建一个猜谜游戏。我一直坚持的是我应该如何循环10次猜测,而不是更多。我试过了,它给了我一个无限循环

我想要创造的是:

  • 从1和100中选择一个数字,玩家不知道该数字是什么
  • 玩家被要求猜一个从1到100的数字
  • 他们有10次机会猜对数字
  • 如果玩家在10次猜测中没有猜到正确的数字,那么玩家将输掉游戏
  • 你让他们知道他们的猜测是否太低或太高,以帮助他们缩小猜测范围,最终在10次猜测用完之前猜出正确的数字

    import java.util.Scanner;
    import java.util.Random;
    
    public class GuessGame3
    {
      public static void main (String[] args){
    
        int num1;
        int count=0;
        int Guess=0;
    
        Random generator = new Random();
        Scanner scan = new Scanner(System.in);
    
        //get generator
        num1 = generator.nextInt(100) + 1;
    
    
        while (Guess != num1){
          System.out.println("Enter a number between 1 and 100");
    
          Guess = scan.nextInt();
          count++;
    
          while (count > 10)
            System.out.println("Sorry you didnt guess in 10 trues its been " + count + " tries");
    
          if ( Guess > num1)
          {
            System.out.println("Lower!");
          }
          else if (Guess < num1)
          {
            System.out.println("Higher");
          }
          else
            System.out.println("Congratz with " + count + " amount of tries");
        }
      }
    }
    
    import java.util.Scanner;
    导入java.util.Random;
    公开课猜谜游戏3
    {
    公共静态void main(字符串[]args){
    int num1;
    整数计数=0;
    int Guess=0;
    随机生成器=新随机();
    扫描仪扫描=新扫描仪(System.in);
    //获取发电机
    num1=发电机。下一个(100)+1;
    while(猜测!=num1){
    System.out.println(“输入一个介于1和100之间的数字”);
    Guess=scan.nextInt();
    计数++;
    同时(计数>10)
    println(“对不起,你没有猜到10个真的是”+count+“尝试”);
    如果(猜测>num1)
    {
    System.out.println(“Lower!”);
    }
    否则如果(猜测

我建议检查猜测是否作为第一个while循环的一部分,而不是嵌套循环:

while (count < 10){
System.out.println("Enter a number between 1 and 100");
            Guess = scan.nextInt();
count++;
     if ( Guess > num1)
    {
        System.out.println("Lower!");
    }
    else if (Guess < num1)
    {
        System.out.println("Higher");
    }
    else {
        break;
    }
}
if(count < 10) {
    System.out.println("Congrats! You have completed it in " + count + " tries!");
} else {
    System.out.println("Sorry you have run out of your 10 guesses!");
}
while(计数<10){
System.out.println(“输入一个介于1和100之间的数字”);
Guess=scan.nextInt();
计数++;
如果(猜测>num1)
{
System.out.println(“Lower!”);
}
否则如果(猜测

这里可能有一些错误,但您应该了解要点。

问题在于循环以及验证尝试总数和猜测匹配的顺序。试试下面的方法

import java.util.Scanner;
import java.util.Random;
public class TestGame
{
  public static void main(String[] args)
  {
    int num1;
    int count = 0;
    int Guess = 0;
    int maxAllowedRetries = 10;

    Random generator = new Random();
    Scanner scan = new Scanner(System.in);

    //get generator
    num1 = generator.nextInt(100) + 1;
    while(count <= maxAllowedRetries)
    {
        if(count == maxAllowedRetries)
        {
            System.out.println("Sorry you have reached maximum number of retries!");
            break;
        }
        count++;
        System.out.println("Enter a number between 1 and 100");
        Guess = scan.nextInt();
        if(Guess == num1)
        {
            System.out.println("Great you got it Right!");
            break;
        }

        System.out.println("Sorry you didnt guess right. Its been " + count + " tries");

        if(Guess > num1)
        {
            System.out.println("Lower!");
        }
        else if(Guess < num1)
        {
            System.out.println("Higher");
        }
     }
  }
}
import java.util.Scanner;
导入java.util.Random;
公共类测试游戏
{
公共静态void main(字符串[]args)
{
int num1;
整数计数=0;
int Guess=0;
int maxAllowedRetries=10;
随机生成器=新随机();
扫描仪扫描=新扫描仪(System.in);
//获取发电机
num1=发电机。下一个(100)+1;
while(计数num1)
{
System.out.println(“Lower!”);
}
否则如果(猜测
你从不在循环中修改
count
while(count>10)
所以一旦输入它就永远不会退出。我不明白你说的对不起,你的意思是我没有在while语句中输入count>10吗?真的,while(count>10)
应该是
if(count>10)
;否则它将永远打印“对不起…”。您不需要嵌套的while循环。相反,如果(计数>10){break;},则放入
哦,对不起,好的,谢谢你的工作,我还有另一个问题,我如何要求用户使用while循环再次播放?我必须把它放在另一个while循环之前吗?