课程设计九宫格数独

中南民族大学管理学院

学生课程设计报告

课题名称: java课程设计

选题名称: 九宫格数独

年 级: 2009

专 业: 信息管理与信息系统

学 号:

姓 名:

指导教师:

完成地点: 管理学院综合实验室

完成日期: 2011年9月25日

2011学年至2012学年度第一学期

目 录

题目描述 3

问题分析 3

问题分解 4

系统设计 6

系统实现 11

系统设计和软件发布 24

难点及关键技术分析 31

心得体会 32

一、题目(问题)描述

在9×9格的大九宫格中有9个3×3格的小九宫格,并提供一定数量的数字。根据这些数字,利用逻辑和推理,在其它的空格上填入1到9的数字。每个数字在每个小九宫格内只能出现一次,每个数字在每行、每列也只能出现一次。 这种游戏只需要逻辑思维能力,与数字运算无关。虽然玩法简单,但数字排列方式却千变万化,所以不少教育者认为数独是锻炼脑筋的好方法。

二、问题分析

1、基本解法:利用1 ~ 9 的数字在每一行、每一列、每一宫都只能出现一次的规则进行解题的方法。

单元格:数独中最小的单元,标准数独中共有81个;  行:横向9个单元格的集合;  列:纵向9个单元格的集合;  宫:粗黑线划分的区域,标准数独中为3×3的9个单元格的集合;  已知数:数独初始盘面给出的数字;  候选数:每个空单元格中可以填入的数字。

String类的对象:atext[i][j]

属于JtextField类的对象:text[i][j]、

属于JPanel类的对象:apanel[ ]、panel[ ]

类:包括上述所有类及父类Jframe。

2、确定类的属性。

ShuDu1: public String: public

JtextField:private JPanel:private

Jframe:public

3、确定对象之间的关系,包括依赖、泛化、关联、实现等等。

Jframe与主类ShuDu1之间:泛化

texts[ ](JtextField)与atext [ ](String)之间:依赖

String与ShuDu1之间:依赖

Resizable、Editable、Visible与texts[ ]之间:实现

i、j与text[i][j]、atext[i][j]之间:关联

类设计类名角色变量(属性)行为ShuDu1表示一个数独MenuaBar:添加菜单项,setSize():设置尺寸等

add():添加文本及组件

setMenuBar():设置难易等级菜单ShuDuAns设置答案窗口setSize():设置尺寸等

JPanel( ):设置面板布局Public void actionPerformed(ActionEvent e)单击事件处理方法单击实践JOptionPaneshowMessageDialog():弹出提示信息框接口名属性ActionListeneradd ActionListener():注册单击事件监听器ItemListener

四、系统设计(类设计、数据设计、方法设计、算法设计等)

类的设计(对象的设计)(类图、对象图)

程序流程图

java 程序中数独的算法设计

static int DFS(){

for(int i=1;i<=9;i++){

for(int j=1;j<=9;j++){

if(data[i][j]==0){

for(int k=1;k<=9;k++){

if( row[i][k]==0 && col[j][k]==0 && sql[(i+2)/3][(j+2)/3][k]==0 ){

data[i][j]=k;

java九宫格问题课程设计_课程设计九宫格数独.doc相关推荐

  1. android课程设计健身,健身软件课程设计_毕业论文设计.doc

    健身软件课程设计_毕业论文设计 通信建模与仿真课程设计文档 健身日记 小 组 名: wingman 小组成员: 肖键 潘凌 周治杰 何朝云 2015年07月03日 Communication Mode ...

  2. qq空间网页设计_网页设计中负空间的有效利用

    qq空间网页设计 Written by Alan Smith 由艾伦·史密斯 ( Alan Smith)撰写 Negative space is a key design element that y ...

  3. 服装设计_服装设计网_服装设计图_服装款式图-POP服饰流行前线

    服装设计_服装设计网_服装设计图_服装款式图-POP服饰流行前线 服装设计_服装设计网_服装设计图_服装款式图-POP服饰流行前线 posted on 2015-02-10 20:15 lexus 阅 ...

  4. c语言拍飞虫课程设计报告,c语言课程设计_拍飞虫提高篇.doc

    c语言课程设计_拍飞虫提高篇 C语言课程设计二 拍飞虫 一.游戏介绍 拍飞虫游戏是玩家用鼠标控制拍子,拍飞虫.飞虫每次从不同的位置.以不同的速度飞来飞去.玩家拍的飞虫越多,分数越高. 二.实验目的 综 ...

  5. 太空战机c语言实验报告,c语言课程设计_太空战机提高篇.doc

    c语言课程设计_太空战机提高篇 C语言课程设计--太空战机 一.游戏介绍 太空战机是玩家用键盘控制战机移动并发射子弹,消灭敌方的战机.敌方战机从右到左移动,同时上下浮动.同时隔一定的时间发射子弹,我方 ...

  6. c语言课程设计中小车运动,C语言课程设计_运动的小车动画.doc

    C语言课程设计_运动的小车动画 XXX航空工业学院 课 程 设 计 报 告 课程设计名称:C语言课程设计 课程设计题目:运动的小车动画 院(系):计算机学院 专 业:网络工程 班 级: 学 号: 姓 ...

  7. java修改数据库表结构_数据库设计(一):设计传统系统表结构(Java开发)

    以下文章来源于微信公众号 程序编程之旅 ,作者陈浩翔 此处仅供本人学习记录之用,侵删 本篇为第一篇.讲解传统系统的表结构设计(Java开发). 讲讲如何避免数据库设计的一些坑,方便后期的开发与维护. ...

  8. java饭堂管理代码论文_[计算机设计精品] 基于java的餐饮管理系统(毕业论文).doc...

    [计算机设计精品] 基于java的餐饮管理系统(毕业论文).doc 还剩 68页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环保 ...

  9. 物联网技术概论的课程编号_课程 物联网应用实战 7月班仅剩3个席位

    社区小伙伴,跟大家分享一个可能有人已经期盼了很久的消息. 5月中,柴火打磨了6个月之久的?「 硬件入门 」课程?正式开班运营,第一波学员已经通过这个实操结合理论.基于项目学习技能的课程,体验了快速搭建 ...

最新文章

  1. 第一代电子计算机诞生的国家是( ),计算机基础知识习题.doc
  2. exist后select加数字的理解
  3. Delphi中运行时改变panel的位置及大小
  4. Oracle中删除用户和表空间的常见问题(比如:ORA-01940无法删除当前已连接用户的解决方案)
  5. ajax后台返回数据中文乱码_解决Jmeter返回值显示中文乱码 的三种方法及设置随机动态参数(非原创侵删)...
  6. linux中Tomcat 8 文件上传后无访问权限
  7. 当SAP云平台account的service Marke place里找不到Machine Learning服务该怎么办
  8. 计算机培训专业中心架,ASEM工业电脑工业计算机全系列自动化产品-销售中心
  9. git(10)---Git常用命令
  10. [二分图]luogu 1640 连续攻击游戏
  11. 深度学习——CNN的学习笔记
  12. 边缘计算平台类产品概览
  13. mysql cluster安装报错
  14. android高通WiFi,高通QCA9377 WiFi蓝牙模块芯片介绍,
  15. 面向对象继承 C#编程记录
  16. Red5 支持https和rtmps
  17. MSDN资源下载网站源码
  18. 前端项目实战176-栅格顺序
  19. Python中__main__.py文件的作用
  20. ASP.NET页面在IE缓存的清除办法 (转)

热门文章

  1. 赠书五本《零基础学机器学习》
  2. 开源知识库存储管理平台
  3. c语言构造smurf攻击的ip包,Smurf攻击-信息安全工程师知识点
  4. 设置开机自动 .拨号上网。
  5. Go语言上云了,谷歌发布新开源项目Go Cloud!
  6. InceptionV3代码解析
  7. springboot2.0 多线程并发执行任务
  8. 走进网络(网络三章)
  9. java前端提示反射型xss_解决反射型XSS漏洞攻击
  10. Android 实现简单的锁屏功能