用c#设计一个计算器类Calculator,通过使用方法重载,分别实现对整数和实数的加、减、乘、除运算。要求,参与运算的数据和运算符在main方法中输入,通过参数传递给类中的计算方法calc实现计算,计算结果在main方法中输出。
时间: 2025-01-01 19:39:26 浏览: 15
在C#中,你可以设计一个名为`Calculator`的类,它包含静态方法以便实现方法重载,用于支持整数和浮点数的算术操作。下面是一个简单的实现示例:
```csharp
using System;
public class Calculator
{
// 整数运算
public static int Add(int num1, int num2) => num1 + num2;
public static int Subtract(int num1, int num2) => num1 - num2;
public static int Multiply(int num1, int num2) => num1 * num2;
public static int Divide(int num1, int num2) => num1 / num2; // 注意这里除法需要处理0的情况
// 浮点数运算
public static double Add(double num1, double num2) => num1 + num2;
public static double Subtract(double num1, double num2) => num1 - num2;
public static double Multiply(double num1, double num2) => num1 * num2;
public static double Divide(double num1, double num2) => num1 / num2; // 同样处理除法
// 主函数中获取用户输入并调用相应的方法
static void Main()
{
Console.Write("请输入第一个数字: ");
string input1 = Console.ReadLine();
if (double.TryParse(input1, out double firstNumber))
{
Console.Write("请输入运算符 (+, -, *, /): ");
string operatorInput = Console.ReadLine();
switch (operatorInput)
{
case "+":
Console.WriteLine($"Result: {Add(firstNumber, double.Parse(Console.ReadLine()))}");
break;
case "-":
Console.WriteLine($"Result: {Subtract(firstNumber, double.Parse(Console.ReadLine()))}");
break;
case "*":
Console.WriteLine($"Result: {Multiply(firstNumber, double.Parse(Console.ReadLine()))}");
break;
case "/":
if (double.Parse(Console.ReadLine()) != 0)
{
Console.WriteLine($"Result: {Divide(firstNumber, double.Parse(Console.ReadLine()))}");
}
else
{
Console.WriteLine("错误! 除数不能为零。");
}
break;
default:
Console.WriteLine("无效的运算符!");
break;
}
}
else
{
Console.WriteLine("无效的数字输入,请输入一个数值。");
}
}
}
```
在这个例子中,我们首先从用户那里获取两个输入(数字和运算符),然后根据运算符选择适当的运算方法,并返回结果。请注意,对于除法运算,我们需要检查除数是否为零,以避免运行时异常。
阅读全文