C#开发一个简易的计算器,接受用户输入的操作数和操作符。程序中需要加入异常处理机制,以应对用户输入的操作数为非数值型数据。当用户输入错误操作数时,程序给出相应提示而非直接中断退出。
时间: 2024-09-06 21:07:00 浏览: 96
在C#中开发一个简易计算器涉及到用户输入、基本的运算处理以及异常处理。下面是一个简单的实现步骤,包括基本的代码示例:
1. 首先,需要创建一个控制台应用程序,以便与用户交互。
2. 使用`Console.ReadLine()`方法获取用户输入的操作数和操作符。
3. 对用户输入进行解析,并进行相应的数值转换,如果转换失败则捕获`FormatException`异常。
4. 根据用户输入的操作符执行加、减、乘、除等操作。
5. 使用`try-catch`块来处理可能出现的异常,例如非数值型数据的输入。
6. 使用`Console.WriteLine()`方法输出计算结果或错误提示。
下面是一个简单的代码示例:
```csharp
using System;
class SimpleCalculator
{
static void Main()
{
Console.WriteLine("请输入第一个操作数:");
string input = Console.ReadLine();
double num1;
bool isValidNumber1 = double.TryParse(input, out num1);
while (!isValidNumber1)
{
Console.WriteLine("输入无效,请输入一个数值:");
input = Console.ReadLine();
isValidNumber1 = double.TryParse(input, out num1);
}
Console.WriteLine("请输入操作符(+、-、*、/):");
input = Console.ReadLine();
char op;
if (input.Length == 1)
{
op = input[0];
}
else
{
Console.WriteLine("操作符无效。");
return;
}
Console.WriteLine("请输入第二个操作数:");
input = Console.ReadLine();
double num2;
bool isValidNumber2 = double.TryParse(input, out num2);
while (!isValidNumber2)
{
Console.WriteLine("输入无效,请输入一个数值:");
input = Console.ReadLine();
isValidNumber2 = double.TryParse(input, out num2);
}
try
{
double result = 0;
switch (op)
{
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
if (num2 == 0)
{
throw new DivideByZeroException("除数不能为0。");
}
result = num1 / num2;
break;
default:
Console.WriteLine("无效的操作符。");
return;
}
Console.WriteLine($"结果是:{result}");
}
catch (FormatException)
{
Console.WriteLine("输入的操作数包含非数值字符,请输入有效的数值。");
}
catch (DivideByZeroException ex)
{
Console.WriteLine(ex.Message);
}
}
}
```
阅读全文