【发布时间】:2021-11-28 05:30:02
【问题描述】:
我正在尝试制作一个计算器,当用户尝试使用十进制值时显示错误消息,我正在尝试使用 Catch 来免除十进制值,然后给用户和错误消息,例如“十进制值是无效”
static void Main(string[] args)
{
Console.Write("Enter an equation:");
string input = Console.ReadLine().Trim();
string[] terms = input.Split(new Char[] { ' ', '+', '-', '*', '/' }, StringSplitOptions.RemoveEmptyEntries);
int firstNumber = Convert.ToInt32(terms[0]);
if (input[0] == '-')
{
firstNumber = -firstNumber;
input = input.Remove(0, 1);
}
input = input.Remove(0, terms[0].Length).Trim();
char op = input[0];
input = input.Remove(0, 1).Trim();
int secondNumber = Convert.ToInt32(terms[1]);
if (input[0] == '-')
secondNumber = -secondNumber;
int result = 0;
if (op == '+')
try
{
result = (firstNumber + secondNumber);
}
catch(FormatException)
{
Console.WriteLine("Sorry cannot accept decimals");
}
else if (op == '-')
try
{
result = (firstNumber - secondNumber);
}
catch
{
}
else if (op == '*')
try
{
result = (firstNumber * secondNumber);
}
catch
{
}
else if (op == '/')
try
{
result = (firstNumber / secondNumber);
}
catch
{
}
Console.WriteLine(result);
Console.ReadLine();
}
}
}
我正在尝试制作一个计算器,当用户尝试使用十进制值时显示错误消息,我正在尝试使用 Catch 来免除十进制值,然后给用户和错误消息,例如“十进制值是无效”
我正在尝试制作一个计算器,当用户尝试使用十进制值时显示错误消息,我正在尝试使用 Catch 来免除十进制值,然后给用户和错误消息,例如“十进制值是无效”
我正在尝试制作一个计算器,当用户尝试使用十进制值时显示错误消息,我正在尝试使用 Catch 来免除十进制值,然后给用户和错误消息,例如“十进制值是无效”
【问题讨论】:
-
不太清楚你在问什么。听起来你想要 int.TryParse docs.microsoft.com/de-de/dotnet/api/… 或 string.Contains docs.microsoft.com/de-de/dotnet/api/…
-
您需要将 try..catch 放在
Convert.ToInt32周围,因为这是引发异常的原因,此外,您可能需要查看 int.TryParse。
标签: c# if-statement try-catch calculator