201571030114随机四则运算

一:需求分析javascript

         

要求以下:
  • 程序可接收一个输入参数n,而后随机产生n道加减乘除练习题,每一个数字在 0 和 100 之间,运算符在3个到5个之间。
  • 为了让小学生获得充分锻炼,每一个练习题至少要包含2种运算符。同时,因为小学生没有分数与负数的概念,你所出的练习题在运算过程当中不得出现负数与非整数,好比不能出 3/5+2=2.6,2-5+10=7等算式。
  • 练习题生成好后,将你的学号与生成的n道练习题及其对应的正确答案输出到文件“result.txt中,不要输出额外信息,文件目录与程序目录一致。
  • 当程序接收的参数为4时,如下为输出文件示例。

二:功能设计java

       整个程序可分为三大部分git

            2. 1:随机生成一个算式github

                        这个部分作的还不是很完善,利用两个for循环来随机生成算式,利用StringBuilder动态字符串来接收随机生成的算式,并加入到ArrayList数组中数组

            2.2:计算这个算式app

                       计算部分,有两种方法,第一种是利用 javascript脚本引擎,另外一种是利用逆波兰式中和栈来解决,相比较而言第一种较为简单函数

            2. 3:输出到文本文件测试

三:设计实现ui

        1:设计程序流程图、编码

         2:接收随机生成算式的个数来进行循环

         3:随机产生运算符,当产生'-'或者'/'时加以判断并产生合适的数字,并将随机产生的算式加入数组

         4:遍历数组进行计算和输出         

四:测试运行

         

            

 

五:核心代码

        

 //使用加强for循环的方法遍历
        try {  
            FileWriter fw = new FileWriter("lilei.txt");//输出  
            BufferedWriter bw = new BufferedWriter(fw);  
            bw.append("201571030114"); 
            bw.newLine();
            for(String e:equations) {
                e=e+"="+se.eval(e.toString());//计算
                System.out.println(e);
                bw.write(e.toString()); 
                bw.newLine();
             }
             bw.close();  
                fw.close(); 
        } catch (Exception ee) {  
            ee.printStackTrace();  
        }  

 

 

 

六:总结

           对于此次的做业由于一开始对于运算符的优先级考虑不完善,致使后面出现了不少问题,因此代码功能也不是很完善,很长时间没有写过java了,要花不少的时间来复习和熟悉java,能力有限,时间也有限,之后有时间会进行改进。

 

PSP:           github地址:https://github.com/Lei-surely/Calculate

 

PSP 任务内容 计划完成须要的时间(min) 实际完成须要的时间(min)
  计划准备 60 150
Estimate 需求分析,函数实现 30 40
  开发 30 30
Analysis 需求分析 10 20
Design Spec 设计 30 30
Design Review 设计复审 5 10
Design 具体设计 5 10
Coding 具体编码 60 150
Code Review 代码复审,查找语法错误 2 2
Test 测试 30 150
  报告 10 30
Test Report 经测试,程序编译正确,运行结果正确,彻底符合要求 2 2
Size Measurement 由于好久没有用过java因此重点要花不少时间来复习java语言,找回思路 2 2
Postmortem 这个程序还存在问题,主要在减法和除法部分有时会出现小数的状况,会继续改进 5 5
相关文章
相关标签/搜索