• 2020软件工程作业03


    软件工程 https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1
    作业要求 https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1/homework/10494
    作业目标 编写程序,代码静态检查和性能分析,单元测试
    作业正文 https://www.cnblogs.com/serendipity5/p/12430879.html
    其他参考文献 www.baidu.com




    1、GitHub地址:https://github.com/filter33/zuoye/blob/master/20177640/src/Sudoku.java

    2、PSP表格

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


    3解题思路

    百度百科简介:
    数独盘面是个九宫,每一宫又分为九个小格。在这八十一格中给出一定的已知数字和解题条件,利用逻辑和推理,在其他的空格上填入1-9的数字。使1-9每个数字在每一行、每一列和每一宫中都只出现一次,所以又称“九宫格”。

    一步一步完成从三宫格到九宫格的进阶。

    百度后了解到用回溯法,写一个方法判断在九宫格的坐标位置上插入值,是否符合规则,然后写一个数组存放数独游戏的二维数组,针对生成的数独使用回溯法,实现对数独的解答,然后初始化命令行的传入参数,最后写主函数,把数保存在input.txt中,在cmd中输入命令,在查看output.txt中的结果。


    4、设计实验过程

    只有一个Sudoku类
    写一个方法legal,以判断在九宫格中的坐标(x,y)的位置上插入value,是否符合上述规则,代码如下


    存放数独游戏的二维数组。



    使用回溯法求解数独



    初始化命令行的传入的参数



    主函数

    代码静态检查

    修改后

    性能测试







    cmd输入命令:



    结果例子:


    流程图



    5、心路历程与收获

    看到题目那一刻就懵逼了,仔细看了几遍题目,最开始是打算只写最初级的三宫格,看题目三宫格给我的感觉写代码应该不是很难,但是在我搞了很久后就放弃了,只怪自己当初没好好学习,连一个代码都写不出,作为一个没有逻辑思维的人来说,被迫学这个真的太难了,但是作业还是要完成,于是在网上看了好多别人的代码啥的,也看了班上大佬的作业,还是很晕,在反反复复的看了很多遍后也稍微懂了一些这个作业到底干吗,借鉴了网上的代码,不过还是没能完整搞出来,但是对于Java文件的输入输出更了解了。希望以后能自己写代码。


  • 相关阅读:
    日期类型存储方法
    Log4j2的一些记录
    【Maven】学习记录
    HTML 图片加载问题
    浏览器的组成
    javascript数组的实例属性(方法)
    javascript数组的内置对象Array
    javascript之this
    css的position,float属性的理解
    简单介绍帧动画
  • 原文地址:https://www.cnblogs.com/serendipity5/p/12594141.html
Copyright © 2020-2023  润新知