非常基本的宾果游戏

时间:2015-10-27 14:29:01

标签: c#

我是C#和编程的新手,我有一个简单的问题要问你们,我已经搜索了一下,但发现了太复杂的例子让我在我的工作中实现所以这里是:< / p>

        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]);
        }
    }

这是我试图编写的bingogame的第一部分,但我无法理解为什么名称循环而我不存在,我应该做一些静态的东西吗?移动一些括号?请帮忙。

5 个答案:

答案 0 :(得分:1)

您需要将整个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: ");

}

答案 1 :(得分:0)

在你的周期后立即制作一个单独的支架。

答案 2 :(得分:0)

你错过了一个开放式支架。这看起来像是作业,所以我不会为你重写它。仔细看看并处理格式和缩进。这将给你一个线索,是否应该是缺少的支撑。

答案 3 :(得分:0)

这是一种在没有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);
}

答案 4 :(得分:0)

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

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

使用 Parse / TryParse 方法后,您不再需要使用Convert.ToInt32。

要验证号码并能够重新输入它,那么2 If会好得多 而是在枚举上使用Constains方法。

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