20165301结对编程项目-四则运算 (第一周)
结对编程项目-四则运算 (第一周)
需求分析
-
实现一个命令行程序,要求:
- 自动生成小学四则运算题目(加、减、乘、除)
- 支持整数
- 支持多运算符(比如生成包含100个运算符的题目)
- 支持真分数
- 统计正确率
请输入要生成的题目数:<输入6>
-
如下所示
题目1:
3 + 4 = <输入7>
正确!
题目2:
5 ÷ 8 = <输入5/6>
错误,正确答案为:5/8
题目3:
2/3 - 1/5 = <输入7/15>
正确!
题目4:
1/6 * 3/7 = <输入3/42>
正确!
题目5:
10 - 5 * 4 = <输入20>
错误,正确答案为:-20
题目6:
(1/3 + 1/2) * 11/20 = <输入55/120>
错误,正确答案为:11/24
完成6道题目,正确率为50%
设计思路
- 首先最基本的是要求能够实现加减乘除的程序。
- 通过case语句或if-else实现加减乘除运算。
- 通过命令行参数形式来指定生成题目数量以及运算符数量。
- 生成的题目要是不同的,不可以重复。
- UML图
实现过程中的关键代码解释
- 本周由于时间紧张且处于探讨阶段,并没有写出完整代码,我们只写出了代码的一小部分。总的代码下周会补齐
int amount = Integer.parseInt(args[0]);
int level = Integer.parseInt(args[1]);
利用Integer.parseInt()这一命令,将字符串的数据类型转换成整形的数字。
public void inFile(String fileName) throws IOException {
String issue = "";
BufferedWriter bf = new BufferedWriter(new FileWriter(fileName));
for (String i : list) {
bf.write(i);
bf.newLine();
}
bf.close();
}
- 在for循环当中利用write方法将算式写入文件当中,利用newLine方法换行。根据命令行输入的参数确定循环的次数,进而确定写入文件的长度。最后close方法结束。
遇到的困难及解决方法
- 关于随机生成表达式的代码没有完整写出,正在和搭档以及班内其他同学商讨中。