需求分析
- 支持一万道题目的生成
- 控制台输入控制生成题目的个数
- 控制台输入控制题目中数值范围
- 判定答案中的对错并进行数量统计
- 每道题目中出现的运算符个数不超过3个
- 存在形如e1 ÷ e2的子表达式,其结果应是真分数
- 计算出所有题目的答案,存入当前目录下的Answers.txt文件
- 题目不能重复,生成的题目存入当前目录下的Exercises.txt文件
功能设计
基本功能
- 加减乘除
- 带括号计算
- 带分数并约分
设计实现
- 代码分为两个类 : OpUtil工具类、Test主入口类
- OpUtil工具类 :包含程序所要用到的全部方法
- Test主入口类 : 调用OpUtil工具类里面的方法生成程序
代码说明
/***
*
* 生成题目并存到指定文件中
*
* @param Exercises
* @param Answer
* @param count
* @param k
* @throws IOException
*/
public static void makeFourOp(int count, int k) throws IOException{}
/**
* 将计算的答案保存到文件中,未判断正确性
*
* @param answer
* @param k
* @throws IOException
*/
public static void saveAnswer(String answer, int k) throws IOException{}
/**
* 判断答案是否正确
*
* @return
* @throws IOException
*/
public static boolean checkAnswer(int k) throws IOException{}
/**
* 保存统计结果
* @param rightCount
* @param list
* @param falseCount
* @param list1
* @throws IOException
*/
public static void saveGrade(int rightCount, ArrayList<Integer> list,
int falseCount, ArrayList<Integer> list1) throws IOException{}
/**
* 打印统计数据
* @throws IOException
*/
public static void print()throws IOException{}
/**
* 删除旧文件
* @throws IOException
*/
public static void deleteFile()throws IOException{}
/**
* 算式求值
* @param s
* @return String;
*/
public static String fc(String s) {}
/**
* 求最大公约数
* @param a
* @param b
* @return Integer;
*/
public static int gcd(int a, int b) {}
/**
* 真分数转换
*
* @return String;
*/
public static String zhuanHuan(String str) {}
/**
* 输入
* @return
*/
public static int scannerIn() {}
运行测试
程序报错并给出帮助信息
生成题目并计算并给出对错
生成题目存放文件
待验证(小学僧)答案存放文件
统计
PSP
小结
程序做了几天时间,90%的时间用来写计算方法和找其中的bug,尽量想的细一些。代码写的有些长,不想修了,等再遇到bug再说。查重没有做,有一点思路,不好实现。
别人能用的表格到我这里就出问题,我也很无奈
git .gitignore问题:新建一个文本文档,将要忽略的文件相对路径写进去,另存为.gitignore文件就可以了。直接重命名会提示一定要输入文件名。
git 三步走:
- git add .
- git commit -m "随便写"
- git push