java表达式计算作业_作业1 :java四则运算

四则运算题目生成程序(基于控制台)

一、需求分析:

1. 使用 -n 参数控制生成题目的个数,使用 -r 参数控制题目中数值(自然数、真分数和真分数分母)的范围

2.每道题目中的运算符个数不超过3个

3. 题目和运算结果中如果出现假分数应用真分数表示

4.将生成的题目存入Exercise.txt,题目答案存入Answer.txt,用户做题结果存入Grade.txt

5.程序支持1万道题目的生成

6.对生成的题目进行查重

二、功能设计

根据用户要求输入的参数来进行生成相对应题目,并进行题目的解答。

三、设计实现

87b0b62a1f055075dce4f17aaa16e882.png

1.生成四则运算表达式的二叉树(Formulatree.java)

按题目要求构建二叉树,在叶子节点中放入运算数,非叶子节点中放入运算符,随后生成二叉树。

a976680289710683153daec9be201887.png

d444b54e92643615ad68e9b8e15cc05e.png

利用递归方法生成二叉树的结构,其中的运算符个数都是利用随机数来随机确定的,numberoperator用来表示二叉树总运算符个数,lnumoperator用来表示左子树的运算符个数,rnumoperator用来表示右子树的运算符个数。

2.从二叉树中读取所需表达式(Show.java)

后序遍历二叉树,生成相对应四则运算表达式

3.计算此表达式的值(Calculate.java)

后序遍历二叉树,计算表达式的值

e5ec8bce28999b17a9ae6cd1538a6af7.png

4.初始化文本文件(InitFile.java)

5.将题目答案,结果和成绩保存到文本文件(Inputfile.java)

6.节点类(Node.java)

22e59f85d65adcc0ff96e87b0daf2801.png

7.生成随机数(Number.java)

8.随机生成相对应运算符(Operator.java)

9.对分数进行化简(Simply.java)

10.主函数(Test.java)

四、测试运行

a3540610a9b7334d40e5bac50802fe2a.png

917e3e53b35d74afbf34f98babaffcb9.png

六、小结

此程序按照先生成存储四则运算的二叉树,再遍历二叉树生成四则运算表达式和值,由于对二叉树的操作用的不熟练,导致查重过程存在缺陷, 且输出结果可能具有一些问题,待慢慢改进。

代码链接:https://gitee.com/laisihong/laisihong.git

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值