个人作业1——四则运算题目生成程序(基于java)

时间:2022-05-09 21:57:10

需求分析

  • 能够根据输入要求生成一定数量和数值范围的题目
  • 对题目自动计算得到正确的答案
  • 支持作答并检查计算结果

功能设计

  • 随机数以及运算符产生
    • 用产生随机数的原理,对已经定义好的运算符数组进行匹配,并加以数量控制,产生符合要求的算式
    • 利用字符串数组存储生成的题目
  • 利用栈计算题目
    • 将算数表达式分成运算符和运算数两部分,分别存储在两个栈中,一边扫描表达式一边计算,提高计算效率。因此对于运算符要判断运算符的优先级,比如当前优先级若低于栈顶的优先级,则先把高的优先级运算符计算出来。
    • 用与题目数组同样大小的字符串数组存储计算结果,可以使题目与答案一一对应

设计实现

  • 题目生成类:Create.java
  • 计算类:Calculate.java
  • 分数类:Fraction.java
  • 主控制类:Main.java

测试运行

个人作业1——四则运算题目生成程序(基于java)

PSP统计

PSP2.1 Personal Software Process Stages Time Senior Student Time
Planning 计划 30 15
Estimate 估计这个任务需要多少时间 40 46
Development 开发 35 80
Analysis 需求分析 (包括学习新技术) 4 7
Design Spec 生成设计文档 4 6
Design Review 设计复审 4 6
Coding Standard 代码规范 3 3
Design 具体设计 10 12
Coding 具体编码 10 10
Code Review 代码复审 3 10
Test 测试(自我测试,修改代码,提交修改) 3 15
Reporting 报告 9 10
  测试报告 2 1
  计算工作量 4 6
  并提出过程改进计划 3 3

作业小结

  • 未实现将题目与答案存入文件以及题目查重的功能,仍需继续完善

源码地址: https://coding.net/u/NInjaHong/p/firstwork/git?public=true