Jey*_*ite 1 c# tryparse while-loop
我正在做Udemy课程,并试图完成一个练习,要求用户输入数字,或者如果我写“ quit”,则中断循环。循环后,我必须对所有数字求和。
我几乎可以正常工作了,但是我不得不写两次 “退出” 才能使其崩溃,但我不明白为什么。感谢任何帮助
int[] total = new int[10];
int number;
int counter = 0;
Console.WriteLine("Write up to 10 number or 'quit' to exit early");
while (counter < 10)
{
bool success = int.TryParse(Console.ReadLine(), out number);
if (success == true)
{
total[counter] = number;
counter++;
} else if (Console.ReadLine() == "quit")
{
break;
} else
{
Console.WriteLine("Wrong input.");
}
}
int sum = total.Sum();
Console.WriteLine("The sum is {0}", sum);
Run Code Online (Sandbox Code Playgroud)
Joh*_*ica 12
的每个实例Console.ReadLine()将读取不同的行。您应该在循环顶部读取一次该值。
目前,您的代码执行了以下操作:
您应该在循环的每个迭代中读取一次该行:
while (counter < 10)
{
string line = Console.ReadLine();
bool success = int.TryParse(line, out number);
if (success == true)
{
total[counter] = number;
counter++;
}
else if (line == "quit")
{
break;
}
else
{
Console.WriteLine("Wrong input.");
}
}
Run Code Online (Sandbox Code Playgroud)
现在,这将要求用户输入一次并将结果存储在中line。然后,您可以在迭代之前对此值执行所需的任何检查。