Menu
CoddyTech

回顾:简单计算器

本课属于 Coddy C# 学习旅程的“面向对象编程”单元。第 9 课,共 70 课。

challenge icon

挑战

困难

在 CalculatorApp.Core 命名空间中创建一个完整的 Calculator 类,展示你学到的所有概念:

  • 字段:为 memory(decimal)和 operationCount(int)创建私有字段
  • 属性:自动实现属性 Name,以及只读属性 Memory 和 OperationCount
  • 构造函数:包含名称参数的构造函数,以及使用构造函数链的默认构造函数
  • 方法:Add、Subtract、Multiply、Divide、Power 和 SquareRoot

所有方法都应递增 operationCount。Add 方法还应将结果存储在 memory 中。

注意:使用 Math.Pow() 计算幂,使用 Math.Sqrt() 计算平方根。需要时将参数转换为 double。

亲手试试

using System;
using CalculatorApp.Core;

class Program
{
    static void Main()
    {
        string name = Console.ReadLine();
        decimal num1 = decimal.Parse(Console.ReadLine());
        decimal num2 = decimal.Parse(Console.ReadLine());
        
        // 使用传入名称的构造函数创建计算器
        Calculator calc = new Calculator(name);
        
        Console.WriteLine($"Calculator: {calc.Name}");
        Console.WriteLine($"Memory: {calc.Memory}");
        
        // 执行运算
        decimal addResult = calc.Add(num1, num2);
        Console.WriteLine($"Add: {addResult}");
        
        decimal subtractResult = calc.Subtract(num1, num2);
        Console.WriteLine($"Subtract: {subtractResult}");
        
        decimal multiplyResult = calc.Multiply(num1, num2);
        Console.WriteLine($"Multiply: {multiplyResult}");
        
        decimal divideResult = calc.Divide(num1, num2);
        Console.WriteLine($"Divide: {divideResult}");
        
        Console.WriteLine($"Memory after operations: {calc.Memory}");
        
        decimal powerResult = calc.Power(num1, num2);
        Console.WriteLine($"Power: {powerResult}");
        
        decimal sqrtResult = calc.SquareRoot(num2);
        Console.WriteLine($"Square Root: {sqrtResult}");
        
        Console.WriteLine($"History: {calc.OperationCount} operations");
    }
}

面向对象编程中的所有课

自己练习: C# 在线编译器