Java “如何使用Do While循环输入”;猜猜我的号码;游戏

Java “如何使用Do While循环输入”;猜猜我的号码;游戏,java,c#,Java,C#,我正在做一个名为“猜我的号码”的简单任务,我试图实现我的代码,这样当用户猜到正确的号码时,应用程序会显示“恭喜”,并允许用户选择是否再次播放。我认为DoWhile循环可以做到这一点,但我仍然不确定如何实现它。有什么想法吗?。提前谢谢你 这是我的代码,运行得很好 Random random = new Random(); while (true) { int randomNumber = random.Next(1, 5);

我正在做一个名为“猜我的号码”的简单任务,我试图实现我的代码,这样当用户猜到正确的号码时,应用程序会显示“恭喜”,并允许用户选择是否再次播放。我认为DoWhile循环可以做到这一点,但我仍然不确定如何实现它。有什么想法吗?。提前谢谢你

这是我的代码,运行得很好

        Random random = new Random();
        while (true)
        {
            int randomNumber = random.Next(1, 5);
            int counter = 1;
            while (true)
            {
                Console.Write("Guess a number between 1 and 5");
                int input = Convert.ToInt32(Console.ReadLine());

                if (input < randomNumber)
                {
                    Console.WriteLine("Too low, try again.");
                    ++counter;
                    continue;
                }
                else if (input > randomNumber)
                {
                    Console.WriteLine("Too high, try again.");
                    ++counter;
                    continue;
                }
                else
                {
                    Console.WriteLine("Congratulations. You guessed the number!");
                    break;
                }
            }
        }
Random Random=new Random();
while(true)
{
int randomNumber=random.Next(1,5);
int计数器=1;
while(true)
{
控制台。写(“猜一个介于1和5之间的数字”);
int input=Convert.ToInt32(Console.ReadLine());
如果(输入<随机数)
{
控制台。WriteLine(“太低,再试一次”);
++计数器;
继续;
}
else if(输入>随机数)
{
控制台。WriteLine(“太高,再试一次。”);
++计数器;
继续;
}
其他的
{
Console.WriteLine(“恭喜你,你猜对数字了!”);
打破
}
}
}

实现do。。虽然代码中的循环很简单,但没有太大区别

 Random random = new Random();
        do
        {
            int randomNumber = random.Next(1, 5);
            int counter = 1;
            do
            {
                Console.Write("Guess a number between 1 and 5");
                int input = Convert.ToInt32(Console.ReadLine());

                if (input < randomNumber)
                {
                    Console.WriteLine("Too low, try again.");
                    ++counter;
                    continue;
                }
                else if (input > randomNumber)
                {
                    Console.WriteLine("Too high, try again.");
                    ++counter;
                    continue;
                }
                else
                {
                    Console.WriteLine("Congratulations. You guessed the number!");
                    break;
                }
            }while (true);
        }while (true);
Random Random=new Random();
做
{
int randomNumber=random.Next(1,5);
int计数器=1;
做
{
控制台。写(“猜一个介于1和5之间的数字”);
int input=Convert.ToInt32(Console.ReadLine());
如果(输入<随机数)
{
控制台。WriteLine(“太低,再试一次”);
++计数器;
继续;
}
else if(输入>随机数)
{
控制台。WriteLine(“太高,再试一次。”);
++计数器;
继续;
}
其他的
{
Console.WriteLine(“恭喜你,你猜对数字了!”);
打破
}
}虽然(正确);
}虽然(正确);

希望这有助于…

实现do。。虽然代码中的循环很简单,但没有太大区别

 Random random = new Random();
        do
        {
            int randomNumber = random.Next(1, 5);
            int counter = 1;
            do
            {
                Console.Write("Guess a number between 1 and 5");
                int input = Convert.ToInt32(Console.ReadLine());

                if (input < randomNumber)
                {
                    Console.WriteLine("Too low, try again.");
                    ++counter;
                    continue;
                }
                else if (input > randomNumber)
                {
                    Console.WriteLine("Too high, try again.");
                    ++counter;
                    continue;
                }
                else
                {
                    Console.WriteLine("Congratulations. You guessed the number!");
                    break;
                }
            }while (true);
        }while (true);
Random Random=new Random();
做
{
int randomNumber=random.Next(1,5);
int计数器=1;
做
{
控制台。写(“猜一个介于1和5之间的数字”);
int input=Convert.ToInt32(Console.ReadLine());
如果(输入<随机数)
{
控制台。WriteLine(“太低,再试一次”);
++计数器;
继续;
}
else if(输入>随机数)
{
控制台。WriteLine(“太高,再试一次。”);
++计数器;
继续;
}
其他的
{
Console.WriteLine(“恭喜你,你猜对数字了!”);
打破
}
}虽然(正确);
}虽然(正确);

希望对您有所帮助……

如果用户说“否”,您可以在最外层的循环中添加一个布尔标志以设置为中断:

Random Random=new Random();
while(true)
{
int randomNumber=random.Next(1,5);
int计数器=1;
bool retry=true;
while(true)
{
控制台。写(“猜一个介于1和5之间的数字”);
int input=Convert.ToInt32(Console.ReadLine());
如果(输入<随机数)
{
控制台。WriteLine(“太低,再试一次”);
++计数器;
继续;
}
else if(输入>随机数)
{
控制台。WriteLine(“太高,再试一次。”);
++计数器;
继续;
}
其他的
{
Console.WriteLine(“恭喜你,你猜对数字了!”);
Console.WriteLine(“是否重试?是/否”);
字符串answer=Console.ReadLine();
如果(回答!=“y”)
{
重试=错误;
}
打破
}
}
如果(!重试)中断;
}
对于do-while版本:

    bool retry = true;
    Random random = new Random();
    do
    {
        int randomNumber = random.Next(1, 5);
        int counter = 1;

        while (true)
        {
            Console.Write("Guess a number between 1 and 5");
            int input = Convert.ToInt32(Console.ReadLine());

            if (input < randomNumber)
            {
                Console.WriteLine("Too low, try again.");
                ++counter;
                continue;
            }
            else if (input > randomNumber)
            {
                Console.WriteLine("Too high, try again.");
                ++counter;
                continue;
            }
            else
            {
                Console.WriteLine("Congratulations. You guessed the number!");
                Console.WriteLine("Would you like to retry? y/n");
                string answer = Console.ReadLine();
                if (answer != "y")
                {
                    retry = false;
                }
                break;
            }

        }
    } while (retry);
bool retry=true;
随机=新随机();
做
{
int randomNumber=random.Next(1,5);
int计数器=1;
while(true)
{
控制台。写(“猜一个介于1和5之间的数字”);
int input=Convert.ToInt32(Console.ReadLine());
如果(输入<随机数)
{
控制台。WriteLine(“太低,再试一次”);
++计数器;
继续;
}
else if(输入>随机数)
{
控制台。WriteLine(“太高,再试一次。”);
++计数器;
继续;
}
其他的
{
Console.WriteLine(“恭喜你,你猜对数字了!”);
Console.WriteLine(“是否重试?是/否”);
字符串answer=Console.ReadLine();
如果(回答!=“y”)
{
重试=错误;
}
打破
}
}
}while(重试);

如果用户说“否”,您可以在最外层的循环中添加一个布尔标志以设置为断开:

<代码