【发布时间】:2013-02-17 06:48:18
【问题描述】:
例如,当我的程序要求输入一个数字并且我输入一个字母时,程序退出。那么当输入一个字母时,我怎样才能让它什么都不做呢? 我用 'int' 或 'strings' 看到了这个,但没有看到 'doubles' 这真的让我很困惑,我不太明白这些是如何修复的
static void Main(string[] args)
{
Console.WriteLine("type 'Exit' to leave this program.");
Console.ReadLine();
Console.Clear();
Valuechoice: Console.WriteLine("Please choose a number.");
double value1 = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Please choose a second Number.");
double value2 = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("What would you like to do to these numbeers?");
Console.WriteLine("Multiply");
Console.WriteLine("Divide");
Console.WriteLine("Add");
Console.WriteLine("subtract");
string operation = Console.ReadLine();
Console.WriteLine();
Console.Clear();
if (operation == "Multiply")
{
double total1;
total1 = (value1 * value2);
Console.WriteLine(total1);
Console.ReadLine();
Console.Clear();
goto Valuechoice;
}
if (operation == "Divide")
{
double total2;
total2 = (value1 / value2);
Console.WriteLine(total2);
Console.ReadLine();
Console.Clear();
goto Valuechoice;
}
if (operation == "Add")
{
double total3;
total3 = (value1 + value2);
Console.WriteLine(total3);
Console.ReadLine();
Console.Clear();
goto Valuechoice;
}
if (operation == "Subtract")
{
double total4;
total4 = (value1 - value2);
Console.WriteLine(total4);
Console.ReadLine();
Console.Clear();
goto Valuechoice;
}
if (Console.ReadLine() == "Exit")
{
Environment.Exit(0);
}
【问题讨论】:
-
只需将用户的输入读取为
String,然后在尝试将其转换为Double之前确定它是否是字母 -
这个问题实在是太本地化了。你最好用更一般的形式来表述你的问题。
-
您还可以捕获 Convert.ToDouble 引发的异常。
标签: c# calculator letters-and-numbers