• 2020软件工程作业03


    2020软件工程作业03

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1/homework/10494
    这个作业的目标 个人编写
    作业正文
    其他参考文献 百度

    1.GitHub项目地址

    https://github.com/song201810/ruanjian1

    2.PSP表格

    PSP2.1 Personal Software Process Stages 预估耗时(小时) 实际耗时(小时)
    Planning 计划 2 1.5
    Estimate 估计这个任务需要多少时间 24 48
    Development 开发 10 14
    Analysis 需求分析 (包括学习新技术) 2 3
    Design Spec 生成设计文档 2 4
    Design Review 设计复审 3 2
    Coding Standard 代码规范 (为目前的开发制定合适的规范) 1 1
    Design 具体设计 1 1.5
    Coding 具体编码 5 6
    Code Review 代码复审 5 4
    Test 测试(自我测试,修改代码,提交修改 1 2.5
    Reporting 报告 1 2
    Test Repor 测试报告 1 2
    Size Measurement 计算工作量 1 1
    Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 2 1.5
    合计 45 65

    3.需求

    实现一个命令行程序,不妨称之为Sudoku

    4.解题思路:

    拿到题目的时候完全没有看懂到底要求做什么,对于命令行传入参数也是啥都不知道,到处问大佬们,了解命令行如何传参之后,才正式开始构思如何求解九宫格盘面。

    shuDu[][]是用来存放数独游戏的二维数组。

    public static int shuDu[][] = new int[9][9];
    public static void setShuDu(int[][] shuDu) {
    Sudu.shuDu = shuDu;
    }

    回溯

    public static void shuDu_solution(int k,int m) throws IOException {
        if (k == (m*m)) {
          String src= "D:\sudoku\"+outputFilename;
            try{
            FileWriter fw = new FileWriter(src,true);
            for(int i=0;i<m;i++){
                for(int j=0;j<m;j++){ 
                    fw.write(shuDu[i][j]+" ");
                }
    
                fw.write("
    ");
            }
            fw.write("
    ");
            fw.close(); // 最后记得关闭文件  
            }
            catch (Exception e) {  
                e.printStackTrace();  
            }  
            return;
        }
        int x = k / m;
        int y = k % m;
        if (shuDu[x][y] == 0) {
            for (int i = 1; i <= m; i++) {
                shuDu[x][y] = i;
                if (legal(shuDu,x, y, i,m)) {
                    shuDu_solution(k + 1,m);
                }
            }
            shuDu[x][y] = 0;
        } else {
            shuDu_solution(k + 1,m);
        }
    }
    

    算法让人想哭

    5.主函数

    6.异常处理

    7.测试图

    测试太多了,弄混了,懒得截图了就这搞四个

    8.性能测试

    搞完之后真的心里特别开心,有种起飞的感觉。

    9.心路历程

    讲实话,已经是第二次用这个性能分析了,但是还是看的一头雾水,而且自己电脑上的jprofiler还有点问题。
    这次作业让我学到了很多,使用Github来管理源代码和测试用例,idea各种报错和警告的解决办法,debug头都要炸了
    这些天搞得心态崩了,各种问题,各种自闭,只能勉强靠烟才能存活,果然有烟有灵感,还是得继续学,快点学好springboot,
    还是有很多东西搞不好啊!!!只有一张图能表明我的想法了。

  • 相关阅读:
    一站式示例代码库登陆微软中国首页
    一站式示例代码库 中文版 2010年10月更新
    微软一站式示例代码库20101010 新增代码示例简介
    一站式示例代码库 中文版 2010年9月更新
    微软全新示例代码请求服务正式上线
    Merge Sort 归并排序
    递归的Fibonacci在数羊
    VS2010 常用快捷键总结
    【总结——HTTP协议】
    在项目中使用log4net记录日志
  • 原文地址:https://www.cnblogs.com/songqd/p/12588209.html
Copyright © 2020-2023  润新知