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方法结束。

遇到的困难及解决方法

  • 关于随机生成表达式的代码没有完整写出,正在和搭档以及班内其他同学商讨中。

结对学习照

posted @ 2018-04-15 22:31  飞翔的僚机ctf  阅读(142)  评论(0编辑  收藏  举报