一、需求分析(描述自己对需求的理解,以及后续扩展的可能性)
实现一个命令行程序,要求:
- 自动生成小学四则运算题目(加,减,乘,除)
- 支持整数
- 支持多运算符(比如生成包含100个运算符的题目)
- 支持真分数
- 统计正确率
扩展需求
- 文件:
- 处理生成题目并输出到文件
- 完成题目后从文件读入并判断
- 多语言支持:简体中文,繁體中文 ,English
- 生成题目去重
本周完成进度 :可以进行除括号外的四则运算,可以生成100个运算符的题目,已经完成中缀转后缀以及后缀的计算,但还不能算出真分数。
二、设计思路(同时输出UML类图)
首先要输入生成题目的数目m
- 计算机根据输入的数目生成m道题
- 每道题生成的数字要随机且在0~100之间
- 生成的字符也要随机且字符数在1~100之间,字符不止加减乘除,还有括号
用户输入值和计算机原本结果进行对比
- 如果正确,则输出正确
- 如果错误,则输出错误,正确答案为:输出答案,还应包括真分数计算
答题结束后,计算机自动计算答题正确率
三、实现过程中的关键代码解释
计算生成题目,不包括括号运算符
package CaculateSystem;
import java.util.Random;
public class ProduceProblem {
public int ProduceProblem () {
String s = "";
Random shu = new Random();//每个运算式的随机数
int count = 1; //记录符号;
char[] operator = new char[]{'+', '-', '*', '/'};
int m = 2 + (int) (Math.random() * 6); //每个运算式数目的个数
for (int j &