非常基本的宾果游戏
本文关键字:游戏 非常 | 更新日期: 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);
}