四则加减混合运算

四则加减混合运算

代码仓库地址:https://dev.tencent.com/u/dtid_cdbdd0ff6b6d6cf4/p/sizeyunsuan/git

项目要求

使用JAVA编程语言,独立完成一个3到5个运算符的四则运算练习的软件。

软件基本功能要求如下:

程序可接收一个输入参数n,然后随机产生n道加减乘除(分别使用符 ±÷来表示)练习题,每个数字在 0 和 100 之间,运算符在3个到5个之间。
每个练习题至少要包含2种运算符。同时,由于小学生没有分数与负数的概念,你所出的练习题在运算过程中不得出现负数与非整数,比如不能出
3÷5+2=2.6,2-5+10=7等算式。
练习题生成好后,将你的学 与生成的n道练习题及其对应的正确答案输出到文件“result.txt”中,不要输出额外信息,文件目录与程序目录一致。
当程序接收的参数为4时,以下为一个输出文件示例。
2018010203
13+17-1=29
11
15-5=160
3+10+4-16=1
15÷5+3-2=4
软件附加功能要求如下:(请有余力的同学完成)

支持有括 的运算式,包括出题与求解正确答案。注意,算式中存在的括 数必须大于2对,且不得超过运算符的个数。

扩展程序功能支持真分数的出题与运算(只需要涵盖加减法即可),例如:1/6

  • 1/8 + 2/3= 23/24。注意在实现本功能时,需支持运算时分数的自动化简,比如
    1/2+1/6=2/3,而非4/6,且计算过程中与结果都须为真分数。

思路

1.项目要求整数运算时不能出现小数和负数,那我们就不能一口气全部生成,需要一个一个的运算并判断是否符合需要。对此我的想法是首先产生一个最简单的式子,只实现两个数的运算,然后通过循环增加运算数的个数,并且在每一次循环中都要判断产生的新式子是否符合规范,代码如下:

运行实例

收获与反思

在这次项目中,收益匪浅,首先是做项目的过程,一开始的时候思路不是很清晰,不知从哪下手,于是边想边做,做到后面突然发现有些功能实现不了,需要全部开始重做,说实话当时的心情是崩溃的,不过有了第一次的经验,后来是在纸上先画出主要架构,然后一步一步的去填写代码,结果要比之前的好了很多。最后是对代码的优化,通过参考学长的代码删除了很多冗余代码,最后只用了二百多行的代码实现了。不过对于这次项目的要求没有很好地实现,无法实现ab+cd这类式子,原因在于后者的优先级大于前者,会在乘 前面自动生成括 ,对此我会继续优化改正。

谢谢大家!

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年2月21日
下一篇 2019年2月21日

相关推荐