【发布时间】:2014-04-04 16:06:18
【问题描述】:
我正在尝试解决有关输入一串数字并检查数字的第三位是否为“7”的问题。这是我到现在为止的想法:
string outnum;
int num1;
int[] num;
num = new int[100];
while (true)
{
Console.WriteLine("Input number:");
outnum = Console.ReadLine();
if (int.TryParse(outnum, out num1))
{
for (int i = 1; i <= 100; i++)
{
num[(int)i] = Convert.ToInt32(Convert.ToString(outnum[(int)i]));
}
if (num[3] == 7)
{
Console.WriteLine("The third digit is 7");
break;
}
else
{
Console.WriteLine("The third digit is not 7");
break;
}
}
}
但是,我在 for 循环中遇到错误,因为为了使其正常工作,从控制台输入的字符串应该包含与“i”int 一样多的字符。因此,我在这种情况下寻求帮助。如何在不输入100个字符的情况下制作长度为100的字符串?
【问题讨论】:
-
你究竟为什么要砍掉 100 次?看来你应该只循环
outnum的时间。此外,仅仅因为 C# 默认是从零开始的索引语言,您可能应该从 0 开始循环并向上循环,而不是 1。(即 (for (int i = 0; i < 100; i++))