功能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类型。
结对地点:图书馆