zoukankan      html  css  js  c++  java
  • 软件工程第五次作业

    前言

    首先感谢老师没有在假期留作业,让我回了一波家。。。假期已经结束了,开始好好学习,这次的作业我们选择了四则运算作为题目,作为一个纯后端,UI我也无能为力。。所以只实现了函数的功能。

    题目要求

    • 能够自动生成四则运算练习题
    • 可以定制题目数量
    • 用户可以选择运算符
    • 用户设置最大数(如十以内、百以内等)
    • 用户选择是否有括号、是否有小数
    • 用户选择输出方式(如输出到文件、打印机等)
    • 最好能提供图形用户界面(根据自己能力选做,以完成上述功能为主)

    代码地址

    领航员博客地址

    合照


    函数主体

    生成函数

    
    public static String generate(char c,String flag,int max){
            if(flag=="float"){
                Random random = new Random();
                StringBuilder str = new StringBuilder();
                str.append(random.nextInt()%100/100.00+Math.abs(random.nextInt()%max));
                str.append(c);
                str.append(random.nextInt()%100/100.00+Math.abs(random.nextInt()%max));
                return str.toString();
            }
            else if(flag=="int"){
                Random random = new Random();
                StringBuffer str = new StringBuffer();
                str.append(Math.abs(random.nextInt()%max));
                str.append(c);
                str.append(Math.abs(random.nextInt()%max));
                return str.toString();
            }
            else return "error";
        }
    
    

    生成文件函数

    /*
        *创建文件
        */
        public static void createFile(String filePath) {
            File file = new File(filePath);
            if (file.exists()) {
                //System.out.println("文件已存在");
            } else {
                try {
                    File fileParent = file.getParentFile();
                    if (fileParent != null) {
                        if (!fileParent.exists()) {
                            fileParent.mkdirs();
                        }
                    }
                    file.createNewFile();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    
    

    写文件函数

    /*
        *以追加方式写文件
        */
        private static void writeFile(String filePath, String conent) {
            BufferedWriter out = null;
            try {
                out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(filePath, true)));
                out.write(conent+"=");
                out.newLine();
                out.flush();
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                try {
                    if (out != null) {
                        out.close();
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    
    

    测试结果

    总结

    驾驶员-领航员模式。理论上这可构成最成熟的模式。

    它的名字源于两个人可能作汽车旅行穿越未知区域的场景,驾驶员的注意力集中在机械方面,包括操控油门和刹车,调转车轮还有提防障碍与其他车辆。与此同时,领航员则考虑更宏观的问题。还要开多久才能下高速?手机是否能及时收到任何突发交通堵塞的提示?

    把这对关系的比喻应用于编程,那么驾驶员就负责写代码,浏览文件,还有基础实现方法。领航员则着眼更长远的考虑并且检查错误。通过这种模式,能够高效率的复审代码,可以两个人一起讨论代码,相比以往的自己编码的模式,有很大的提升。

    跟我合作的领航员充分的体现了一个合格的领航员所应具备的素质,对我的代码严格审查,提出了优秀的建议,使我认识到了自己的不足,严谨的思维,优秀的品质,这或许就是新时代青年的素质吧。

  • 相关阅读:
    cookie,session,django中间件,csrf回顾
    CSRF
    django中间件
    cookie与session
    form组件简单回顾
    分页器组件与form组件
    ajax回顾
    AJAX
    python魔法方法详解
    python静态方法类方法属性方法
  • 原文地址:https://www.cnblogs.com/BBchao/p/8810276.html
Copyright © 2011-2022 走看看