到目前为止,我的程序要求用户输入一个数字,并且总数(在我的情况下,此时设置为0)会询问另一个数字并将其加起来。
int userNumber;
int total = 0;
int i;
Console.WriteLine("Please enter a number");
string input = Console.ReadLine();
if (input == "e")
System.Environment.Exit(1);
else
userNumber = Convert.ToInt32(input);
Console.WriteLine("The running total is: " + total);
for (i = 0; i <= 10; i++)
{
Console.WriteLine("Please enter another number");
userNumber = int.Parse(Console.ReadLine());
total = userNumber + total;
Console.WriteLine("The running total is: " + total);
我想要达到的目的是 - 例如 - 在第一行用户输入&#39; 5&#39;,我希望这是总数,但我不能因为总数= 0。
当我尝试删除0并执行 - total=userNumber
时出现错误。
有什么建议可以解决这个问题吗?谢谢
答案 0 :(得分:2)
在使用它之前必须先初始化userNumber
的值,因为编译器可以看到一个代码路径,如果输入是“e”,那么还没有分配userNumber,它会给出错误
如果您将第一行更改为此,则应编译正常:
int userNumber = 0;
你可以简化这个,只需这样写:
int total = 0;
for (i = 0; i <= 10; i++)
{
if (i == 0) // First time asking for a number
Console.WriteLine("Please enter a number");
else
Console.WriteLine("Please enter another number");
userNumber = int.Parse(Console.ReadLine());
total = userNumber + total;
Console.WriteLine("The running total is: " + total);
}