软件工程作业---第四次

功能1.2 四则运算,支持括号

支持出题4个数的四则运算题目

功能3. 限定题目数量,"精美"打印输出,避免重复

在命令行输入参数,判断,如果输入的不是正整数,则输出提示。

   Pattern pattern = Pattern.compile("^[0-9]*[1-9][0-9]*$");  //判断输入的是否是正整数
     boolean re =  pattern.matcher(args[1]).matches();
     if(re==false) {//re=false 输入的不是正整数
         System.out.println("题目数量必须是 正整数。");    
     }

命令行参数输入正确,试题生成在C盘下Test.txt文件中。write函数将生成的试题与答案写进Test.txt文件中。

private static void write(String exp) throws IOException {
         File f = new File("C:\Test.txt");
         FileWriter fw = new FileWriter(f,true);
         BufferedWriter bw = new BufferedWriter(fw);
         bw.write(exp);
         bw.flush();
         bw.newLine();
         bw.close();
         fw.close();
    }

重难点:中缀转后缀是个难点,花费了很长时间,最后还是克服了困难,数值计算也有不小的问题,还有就是小数的处理。

 收获:对于堆栈的理解加深了,命令行参数会使用了。

结对编程的体会:体验到了结对合作的重要性,结对编程的过程中,思想火花的碰撞,使人动力十足。

较大收获的事件

1.命令行参数。包括输入和解读,怎么判断输入的是正整数,这个地方学到了新的知识点,和思考的方式方向。

2.文件输入。 将生成的试题与答案放进txt文件中。 FileWriter fw = new FileWriter(f,true);这里面true的作用就是可以不覆盖原有的内容,把新读入的内容在文本最后添加。

3.exe文件的生成。

4.重复题目的判断(未完成),虽然花了很长时间讨论,但是没有完成。

5.题目数量的判定。对于题目数量的多少,是定义long型还是int型,最后认为老师不会一次出超过30000个题目,但是为了保险,最后使用long类型。

结对地点:图书馆

 git代码

链接地址:https://git.coding.net/lick468/f4.git

原文地址:https://www.cnblogs.com/lick468/p/7643731.html