java 四则运算空格键_跟我学java编程—完善四则运算器功能代码

上节内容讲述了如何建立四则运算器项目,并建立了程序的基本框架。本节内容根据10.1节的需求分析和10.2设计内容继续完善四则运算器的程序流程控制、语法扫描、算式计算功能。

程序流程控制

10.2节程序流程控制功能一段给出了流程描述。按照流程描述,需要实现如下功能。

(1)建立run方法,在main方法中调用。

11d710a626b6dc8a4b1076e046d27d16.png

在main方法中,声明类型为Arithmetic类成员变量tempArithmetic,并调用new方法初始化,然后调用Arithmetic类的run方法。

(2)显示帮助内容

10.1节需求部分要求帮助内容及显示格式如下:

***欢迎使用四则运算器***

算式计算:输入算式后,按下回车键,程序给出答案。算式仅限于算式仅支持包含单个运算符和两个运算数的算式。例如:15+20、8*9、20/5等。

退出程序:请输入“quit”命令,按下回车键。

查看帮助:请输入“help”命令,按下回车键。

Arithmetic类属性“help”存储帮助内容,showHelp()方法显示帮助内容。在Arithmetic类方法run中添加如下代码:

0f90b3a324e55864e8c8ccedd889b122.png

(3)循环等待用户输入

在程序顶部导入java.util包,在run方法中添加while循环代码,在循环体添加获取用户输入代码。

c4ebba0a4f537b8789b8b2aaf61b61c7.png

在run方法中,添加do-while循环语句,循环接收用户的输入,该循环为无限循环,后续代码需要添加退出循环语句。

(4)判断用户输入内容,选择不同程序分支

根据用户输入的内容,程序流程有三个分支。若输入的内容为“quit”,调用Arithmetic类的quit方法退出程序;若输入的内容为“help”,调用Arithmetic类的showHelp方法;若不是前两项内容,

调用Arithmetic类的calculateFormula方法。在run方法do-while循环语句中增加if-else语句。

9a49431bac879083f26631ae2aaaf653.png

算式计算

计算算式并返回计算结果,计算前先对算式做语法判断,若算式语法错误,返回错误信息,终止计算功能。若算式语法正确,计算算式并返回计算结果。

(1)语法扫描

扫描用户输入的算式,检查算式语法是否符合程序要求。语法正确与否判断规则如下:

● 算式的开始和结束字符必须是数字;

● 算式只能包含数字和‘+’、‘-’、‘*’、‘/’运算符;

● 运算符不能连续;

● 运算符有且只能包含一个;

在Arithmetic类的scanFormula方法添加如下代码:

476aaef44508f4e64d3407f4401fcbb0.png

语法扫描采用遍历算式所有字符的算法,对算式的每个字符进行判断。for循环遍历算式的所有字符,for循环体的if-else语句判断算式的单个字符是否符合语法要求,如果不符合要求,设置语法错误信息并跳出循环。

(2)计算算式

具体算法为:遍历并解析算式,得到运算数和运算符,然后利用switch语句控制不同的计算分支,得到计算结果。

在Arithmetic类的calculateFormula方法添加如下代码:

e8ca4340424c499a0a840ca14ba619f0.png

7e0b03917bad7feb639e3d1cad5c3d1c.png

完善Arithmetic类的run方法

在Arithmetic类run方法循环体中增加算式语法扫描、计算算式、输出计算结果的代码。

70cb3b2c19ccc2391cb60cf241e055c2.png

至此,程序编写完成。

■ 知识点拨

本节内容主要是根据10.2节的设计内容完成代码编写,设计内容没有给出伪代码,只是给出了程序框架和业务流程。因此,还需要同学们在理解程序业务流程的基础上,运用前面学过的编程知识,使用循环、判断等语句完成程序的编写。

■ 思考与练习

请同学们根据上述内容完成四则运算其项目V2.0版的代码编写。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值