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("\r\n");
        }
        fw.write("\r\n");
        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,
还是有很多东西搞不好啊!!!只有一张图能表明我的想法了。

posted @ 2020-03-28 17:06  南城大侠  阅读(241)  评论(1编辑  收藏  举报