非常基本的宾果游戏

本文关键字:游戏 非常 | 更新日期: 2023-09-27 18:19:23

我是c#和编程的新手,我有一个快速的问题要问你们,我已经搜索了一点,但只发现了太复杂的例子,我无法在我的工作中实现,所以这里是:

        int[] newArray = new int[7];
        Console.WriteLine("Hello! Please enter 7 numbers between 1-25, press ENTER after each number. ");
        for (int i = 0; i < newArray.Length; i++)
            bool loop = true;
            do
            {
                try
                {
                    newArray[i] = Convert.ToInt32(Console.ReadLine());
                    loop = false;
                }
                catch
                {
                    Console.WriteLine("You may only enter numbers!");  
                }
            } while (loop);
        Console.Write("You entered the following numbers: ");
        for (int i = 0; i < newArray.Length; i++)
        {
            Console.WriteLine(newArray[i]);
        }
    }

这是一个宾果游戏的第一部分,我试图写,但我不能理解为什么名字循环和我不存在,我应该做一些静态的吗?移动括号?请帮助。

非常基本的宾果游戏

您需要将整个for语句用大括号括起来,否则它将只执行下一行代码,即bool loop = true;

for (int i = 0; i < newArray.Length; i++)
{ // <-- Add this
  bool loop = true;
  do
  {
    try
    {
      newArray[i] = Convert.ToInt32(Console.ReadLine());
      loop = false;
    }
    catch
    {
      Console.WriteLine("You may only enter numbers!");  
    }
  } while (loop);
  Console.Write("You entered the following numbers: ");
}

string值得一提。方法打印列表中的所有元素。

Console.WriteLine("You entered the following numbers: ");
Console.WriteLine(string.Join(", ", newArray));

在使用Parse/TryParse方法后,您不需要使用Convert。

要验证数字并能够重新输入它,最好使用两个IF语句,而不是使用Enumerable类的 constants 方法。

while (!int.TryParse(Console.ReadLine(), out number) || number < 1 || number > 25)
{
    Console.WriteLine("You may only enter numbers from range 1-25!");
}

在for循环后面加一个单括号

少了一个左大括号。这看起来像作业,所以我就不重写了。请仔细查看并处理格式和缩进。这将提示您缺少的大括号应该在哪里。

这里有一个更好的方法来测试数字输入,而不需要使用try/catch

var newArray = new int[7];
Console.WriteLine("Hello! Please enter 7 numbers between 1-25, press ENTER after each number. ");
for (var i = 0; i <= newArray.Length - 1; i++)
{
    int number;
    while (!int.TryParse(Console.ReadLine(), out number))
    {
        Console.WriteLine("You may only enter numbers!");
    }
    newArray[i] = Convert.ToInt32(number);
}
Console.WriteLine("You entered the following numbers: ");
foreach (var t in newArray)
{
    Console.WriteLine(t);
}