我儘量不要在代碼中使用else
,只使用if
。但是當我運行它並輸入「Q」時,它說在total += Convert.ToInt32(input);
轉換的錯誤。有沒有解決的辦法?不使用其他
do
{
Console.Clear();
Console.WriteLine("Enter a number or Q to quit", input);
input = Console.ReadLine();
if (input.ToUpper() == "Q")
{
Console.WriteLine("Press any key to continue");
Console.ReadKey();
}
else
{
total += Convert.ToInt32(input);
numbersEntered++;
average = ((double)total/numbersEntered);
Console.WriteLine("Total: {0}\t Numbers Entered: {1}\t Average: {2}\t", total, numbersEntered, average);
Console.ReadKey();
}
}
while (input.ToUpper() != "Q");
您的示例顯示了'else'的合理用法。從給定的代碼沒有辦法弄清楚如何在反向條件下錯誤地將'else'分支轉換爲'if'。請更新樣本......如果可能,請添加避免「其他」的好理由(如「我的任務需要......」)。 –
當您達到if語句時,輸入值是多少?似乎它可能不僅僅是「Q」。 – Chris
我已經在一個新的控制檯應用程序中運行了它,並且當輸入'Q'或'q'時它的功能正常並且按預期退出。 –