一、需求分析
需要一个整数计算类
需要一个分数计算类
需要一个可自动生成题目的类
需要一个测试结果的类
扩展需求
需要一个IO输出流对自动生成的题目写入文件
需要一个IO输入流读入文件内容并判断正误
需要一个去除生成题目中重复出现的题目的方法
综上有两种办法:
用栈的方法计算
不用栈的方法计算
二、设计思路
方法一(不用栈的方法):
创建一个整数计算类
创建一个分数计算类
创建一个题目正误判断类
测试类
优点:
思路简单,易实现。
主要需求bug少
缺点:
扩展需求难于实现
不支持复杂计算
方法二(用栈的方法):
创建一个后缀表达式的计算类
创建一个中缀表达式转后缀表达式的转化类
创建一个题目自动生成类
测试类
优点:
可进行多运算符的精确计算
对后期扩展需求的实现较容易
缺点:
思路复杂
自动生成题目bug较多