java九宫格问题课程设计_课程设计九宫格数独.doc
课程设计九宫格数独
中南民族大学管理学院
学生课程设计报告
课题名称: 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相关推荐
- android课程设计健身,健身软件课程设计_毕业论文设计.doc
健身软件课程设计_毕业论文设计 通信建模与仿真课程设计文档 健身日记 小 组 名: wingman 小组成员: 肖键 潘凌 周治杰 何朝云 2015年07月03日 Communication Mode ...
- qq空间网页设计_网页设计中负空间的有效利用
qq空间网页设计 Written by Alan Smith 由艾伦·史密斯 ( Alan Smith)撰写 Negative space is a key design element that y ...
- 服装设计_服装设计网_服装设计图_服装款式图-POP服饰流行前线
服装设计_服装设计网_服装设计图_服装款式图-POP服饰流行前线 服装设计_服装设计网_服装设计图_服装款式图-POP服饰流行前线 posted on 2015-02-10 20:15 lexus 阅 ...
- c语言拍飞虫课程设计报告,c语言课程设计_拍飞虫提高篇.doc
c语言课程设计_拍飞虫提高篇 C语言课程设计二 拍飞虫 一.游戏介绍 拍飞虫游戏是玩家用鼠标控制拍子,拍飞虫.飞虫每次从不同的位置.以不同的速度飞来飞去.玩家拍的飞虫越多,分数越高. 二.实验目的 综 ...
- 太空战机c语言实验报告,c语言课程设计_太空战机提高篇.doc
c语言课程设计_太空战机提高篇 C语言课程设计--太空战机 一.游戏介绍 太空战机是玩家用键盘控制战机移动并发射子弹,消灭敌方的战机.敌方战机从右到左移动,同时上下浮动.同时隔一定的时间发射子弹,我方 ...
- c语言课程设计中小车运动,C语言课程设计_运动的小车动画.doc
C语言课程设计_运动的小车动画 XXX航空工业学院 课 程 设 计 报 告 课程设计名称:C语言课程设计 课程设计题目:运动的小车动画 院(系):计算机学院 专 业:网络工程 班 级: 学 号: 姓 ...
- java修改数据库表结构_数据库设计(一):设计传统系统表结构(Java开发)
以下文章来源于微信公众号 程序编程之旅 ,作者陈浩翔 此处仅供本人学习记录之用,侵删 本篇为第一篇.讲解传统系统的表结构设计(Java开发). 讲讲如何避免数据库设计的一些坑,方便后期的开发与维护. ...
- java饭堂管理代码论文_[计算机设计精品] 基于java的餐饮管理系统(毕业论文).doc...
[计算机设计精品] 基于java的餐饮管理系统(毕业论文).doc 还剩 68页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环保 ...
- 物联网技术概论的课程编号_课程 物联网应用实战 7月班仅剩3个席位
社区小伙伴,跟大家分享一个可能有人已经期盼了很久的消息. 5月中,柴火打磨了6个月之久的?「 硬件入门 」课程?正式开班运营,第一波学员已经通过这个实操结合理论.基于项目学习技能的课程,体验了快速搭建 ...
最新文章
- 第一代电子计算机诞生的国家是( ),计算机基础知识习题.doc
- exist后select加数字的理解
- Delphi中运行时改变panel的位置及大小
- Oracle中删除用户和表空间的常见问题(比如:ORA-01940无法删除当前已连接用户的解决方案)
- ajax后台返回数据中文乱码_解决Jmeter返回值显示中文乱码 的三种方法及设置随机动态参数(非原创侵删)...
- linux中Tomcat 8 文件上传后无访问权限
- 当SAP云平台account的service Marke place里找不到Machine Learning服务该怎么办
- 计算机培训专业中心架,ASEM工业电脑工业计算机全系列自动化产品-销售中心
- git(10)---Git常用命令
- [二分图]luogu 1640 连续攻击游戏
- 深度学习——CNN的学习笔记
- 边缘计算平台类产品概览
- mysql cluster安装报错
- android高通WiFi,高通QCA9377 WiFi蓝牙模块芯片介绍,
- 面向对象继承 C#编程记录
- Red5 支持https和rtmps
- MSDN资源下载网站源码
- 前端项目实战176-栅格顺序
- Python中__main__.py文件的作用
- ASP.NET页面在IE缓存的清除办法 (转)