怎么设计一个计算器的类

时间: 2024-05-05 12:17:04 浏览: 9
一个计算器的类应该包含以下属性和方法: 属性: - display:显示器,用于显示计算结果或当前输入的数字 - memory:存储器,用于存储计算结果或其他需要保存的数字 方法: - input_number(num):输入数字,将数字添加到当前显示的数字中 - input_operator(operator):输入操作符(+、-、*、/等),并计算当前显示的数字和存储器中的数字的结果,将结果显示在显示器上 - clear():清空当前显示的数字和存储器中的数字 - memory_recall():将存储器中的数字显示在显示器上 - memory_store():将当前显示的数字存储到存储器中 示例代码: ``` class Calculator: def __init__(self): self.display = 0 self.memory = 0 def input_number(self, num): self.display = self.display * 10 + num def input_operator(self, operator): if operator == '+': self.memory += self.display elif operator == '-': self.memory -= self.display elif operator == '*': self.memory *= self.display elif operator == '/': self.memory /= self.display self.display = 0 def clear(self): self.display = 0 self.memory = 0 def memory_recall(self): self.display = self.memory def memory_store(self): self.memory = self.display ``` 使用示例: ``` calc = Calculator() calc.input_number(1) calc.input_number(2) calc.input_operator('+') calc.input_number(3) calc.input_number(4) calc.input_operator('*') calc.memory_store() calc.input_number(5) calc.input_operator('-') calc.memory_recall() calc.input_number(6) calc.input_operator('/') print(calc.display) # 输出:46 print(calc.memory) # 输出:510 ```

相关推荐

最新推荐

recommend-type

面向对象编程课设:设计一个计算器类

面向对象编程课设:采用Java设计一个计算器类;要求实现基本计算功能,有图形界面,采用M_V_C(模型——视图——控制器)模式。
recommend-type

设计一个程序来模拟一个简单的手持计算器

可定义一个计算器类,该类包括两个组件对象,一个计算引擎和一个用户接口,用户接口对象处理接受的键盘输入信息,并显示答案,计算引擎对象对给出的数据执行相应操作,并存储操作的结果。 选作内容 如果用户输入的...
recommend-type

java实现的计算器课程设计报告

含分析、源代码 、详细注解、运行截图、设计类图等。 目录 1.设计内容 2.设计要求 2.1计算器中应包含的组件 2.2计算器中各按钮的功能 2.3 开发环境 3.总体设计 4.具体设计 4.1自定义类说明 4.1.1主类 ComputerPad ...
recommend-type

JAVA课程设计论文-普通计算器

 本程序主要分成了4个类,分别为Calculator类,GC类,Number_Key类,Result类,他们的功能分别为:  Calculator类:计算器主类,其中包括添加各组件,添加监听等操作。  GC类:显示计算过程的面板类。  Number_...
recommend-type

JAVA完整版课程设计计算器

目 录 第1章 课程设计的目的与要求 1 1.1 课程设计目的 1 ...2.2.1自定义类说明 3 2.2.2程序流程图 5 2.3详细设计 6 2.4测试分析 16 2.4.1程序运行情况 16 2.4.2程序异常处理 17 第3章 课程设计总结 18 参考资料 19
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

MATLAB柱状图在信号处理中的应用:可视化信号特征和频谱分析

![matlab画柱状图](https://img-blog.csdnimg.cn/3f32348f1c9c4481a6f5931993732f97.png) # 1. MATLAB柱状图概述** MATLAB柱状图是一种图形化工具,用于可视化数据中不同类别或组的分布情况。它通过绘制垂直条形来表示每个类别或组中的数据值。柱状图在信号处理中广泛用于可视化信号特征和进行频谱分析。 柱状图的优点在于其简单易懂,能够直观地展示数据分布。在信号处理中,柱状图可以帮助工程师识别信号中的模式、趋势和异常情况,从而为信号分析和处理提供有价值的见解。 # 2. 柱状图在信号处理中的应用 柱状图在信号处理
recommend-type

用Spring boot和vue写一个登录注册界面

好的,这是一个比较常见的技术问题,我可以为您提供一些参考资料和思路。首先,您可以使用Spring Boot作为后端框架来处理用户认证和注册的逻辑,比如使用Spring Security实现用户登录认证。同时,您还需要设计相应的数据模型和数据库表结构来存储用户信息。在前端方面,您可以使用Vue.js作为框架来构建登录注册页面,使用Axios来发起API请求并和后端进行交互。当然,在实现过程中,还需要考虑一些具体细节,比如数据校验、安全性和用户体验等方面。希望这些信息能够帮助到您。
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。