实验一.简单计算器的实现(附源码)

⼀、具体功能:

1、:输⼊,输出

输⼊:允许输⼊带有括号的完整计算式(例 8*4-95)+5÷2*e-pi) 输出:输出Double类型的结果

输出:整个运算表达式并保存于历史记录中

2、:功能

基本的加,减,乘,除,四则运算平⽅运算

开⽅运算求余运算

平⽅运算

开⽅运算求余运算

最终界⾯如下图:

除了常规的数字按钮和运算符,还有两个常数epi(π),清空键AC,括号运算符(),平⽅(x^x)和开⽅(sqrt)运算符,输⼊显⽰框以及历史记录⽂本框,⽂本框的垂直滚动条          和⽔平滚动条。

⼆、主要思想:

1:中缀表达式转为后缀表达式准备:

①后缀表达式队列:postQueue,⽤于存储逆波兰表达式(其实不⽤队列排序直接输出也⾏)

②操作符栈:opStack,对⽤户输⼊的操作符进⾏处理,⽤于存储运算符

算法思想:

从左向右依次读取算术表达式的元素X,分以下情况进⾏不同的处理:

  1. 如果X是操作数,直接⼊队
  2. 如果X是运算符,再分以下情况:
  1. 如果栈为空,直接⼊栈。

  1. 如果X==”,直接⼊栈。
  2. 如果X==”,则将栈⾥的元素逐个出栈,并⼊队到后缀表达式队列中,直到第⼀个配对的”(”出栈。(注:“(”“)”都不 ⼊队)
  3. 如果是其他操作符(+ - * /,则和栈顶元素进⾏⽐较优先级。 如果栈顶元素的优先级⼤于等于X,则出栈并把栈中弹出的元素⼊队,直到栈顶元素的优先级⼩于X或者栈为空。弹出完这些元素后,才将遇到的操作符压⼊到栈中。

(3)最后将栈中剩余的操作符全部⼊队。

⽰意图:

2、计算后缀表达式准备

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以按照以下步骤实现: 1. 创建一个名为Calculator的Java类,并声明两个私有变量num1和num2,分别表示待计算的两个数。 2. 为num1和num2分别创建getter和setter方法,以便外部代码可以对其进行读写操作。 3. 在Calculator类中创建两个方法:add()和subtract(),分别表示加法和减法操作。这两个方法都不需要参数,直接使用num1和num2进行计算,并返回计算结果。 下面是代码示例: ```java public class Calculator { private int num1; private int num2; public int getNum1() { return num1; } public void setNum1(int num1) { this.num1 = num1; } public int getNum2() { return num2; } public void setNum2(int num2) { this.num2 = num2; } public int add() { return num1 + num2; } public int subtract() { return num1 - num2; } } ``` 使用示例: ```java Calculator calculator = new Calculator(); calculator.setNum1(5); calculator.setNum2(3); System.out.println(calculator.add()); // 输出8 System.out.println(calculator.subtract()); // 输出2 ``` ### 回答2: 在JavaBean中编写一个简易计算器实现加减法的方式如下: 首先,我们需要创建一个名为Calculator的JavaBean类。这个类应该具有两个私有的整型变量,用于保存要进行计算的两个数字。 ```java public class Calculator { private int num1; private int num2; // 提供num1的getter和setter方法 public int getNum1() { return num1; } public void setNum1(int num1) { this.num1 = num1; } // 提供num2的getter和setter方法 public int getNum2() { return num2; } public void setNum2(int num2) { this.num2 = num2; } // 实现加法操作 public int add() { return num1 + num2; } // 实现减法操作 public int subtract() { return num1 - num2; } } ``` 在这个类中,我们定义了两个私有的整型变量`num1`和`num2`,用于保存要进行计算的两个数字。并且提供了相应的getter和setter方法,以便从外部设置这两个数字。 `add()`方法实现了加法操作,通过将`num1`和`num2`相加得到结果,并返回。 `subtract()`方法实现了减法操作,通过将`num2`从`num1`中减去得到结果,并返回。 通过JavaBean的方式,我们可以将计算器的逻辑封装起来,并提供相应的接口供其他类进行调用。这样可以实现计算器的重复使用,同时也增加了代码的可维护性和可读性。 ### 回答3: 在JavaBean中编写一个简易计算器实现加减法可以按照以下步骤进行: 1. 创建一个Calculator类作为计算器JavaBean。这个类需要有两个私有的整数类型的属性,用来接收用户输入的两个操作数。 2. 为这两个属性编写相应的setter和getter方法,以方便其他类进行操作数的设置和获取。 3. 在Calculator类中创建一个公有的add方法,该方法接收两个整数类型的参数,并返回它们的和。在这个方法中,可以使用加法运算符"+"来实现两个操作数的相加操作。 4. 在Calculator类中创建一个公有的subtract方法,该方法接收两个整数类型的参数,并返回它们的差。在这个方法中,可以使用减法运算符"-"来实现两个操作数的相减操作。 5. 在使用这个Calculator类的地方,首先需要实例化一个Calculator对象。 6. 通过调用Calculator对象的setter方法,将用户输入的两个操作数设置进去。 7. 调用Calculator对象的add方法来实现加法计算,并将结果保存或显示出来。 8. 调用Calculator对象的subtract方法来实现减法计算,并将结果保存或显示出来。 通过以上步骤,我们可以在JavaBean中编写一个简易的计算器实现加减法功能。在使用这个计算器时,只需调用相应的方法,传入操作数即可得到运算结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值