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;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/259612.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Scrapy使用问题整理(转载)

转载自&#xff1a;http://blog.csdn.net/heu07111121/article/details/50832999最近尝试使用Scrapy进行数据抓取&#xff0c;并尝试在windows7 64位系统上安装scrapy&#xff0c;下面总结记录遇到两个问题和解决方法&#xff1a;scrapy官网的地址为&#xff1a;http://scrapy.…

英文Ubantu系统安装中文输入法

以前都是安装的中文Ubantu&#xff0c;但是有时候用命令行的时候中文识别不好&#xff0c;会出现错误&#xff0c;所以这次安装了英文版&#xff0c;但是安装后发现输入法不好用&#xff0c;于是就要自己安装输入法。 安装环境为Ubantu13.04 1.卸载Ubantu默认的ibus输入法 sudo…

控制文件初探

1、个数和位置的管理&#xff08;因为控制文件时在参数文件定义的&#xff0c;所以可以直接修改参数文件&#xff09; SPfile修改的步骤&#xff1a;a) 修改SPFILE参数control_filesb) 一致性关闭数据库c) 增加或减少控制文件d) 启动数据库使用SPFILEe) 验证结果 实验&#xff…

String类的使用 Part2

StringBuilder 类的使用 属性&#xff1a; namespace StringBuilderTest {class Program{static void Main(string[] args){StringBuilder s new StringBuilder("hello,world!");Console.WriteLine(s);//Length属性Console.WriteLine("s.Length{0}", s.Le…

JAVA项目怎么不是蓝色_解决IDEA创建maven项目时pom.xml没有变蓝的问题

如下所示&#xff1a;选中pom.xml&#xff0c;右键点击add as maven project&#xff0c;稍等片刻后就可以了补充知识&#xff1a;Idea导入maven项目不自动识别pom.xml*Idea导入maven项目不自动识别pom.xml*当在idea中导入maven项目时&#xff0c;不能自动识别pom文件解决方法&…

C# 6.0:Expression – Bodied Methods

Expression-bodied 方法是C# 6.0 中另一个能简化代码的特性。我们已经对lambda表达式将funciton和delegation关联起来的这种用法很熟悉了。Expression-bodied 将lambda 表达式的这种用法扩展到了方法上。 像下面代码所示&#xff0c;我们有一个GetTime() 方法返回一个格式化的时…

zabbix3.0安装

本次安装准备安装3.0的zabbix(LNMP)第一步 安装zabbix官方的zabbix源&#xff0c;地址如下&#xff1a;http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm安装zabbix的官方源rpm -ivh zabbix-release-3.0-1.el6.noarch.rpm第二步 使用yu…

android UI自动化测试工具Robotium VS NativeDriver VS Calabash

http://kongqingyun123.blog.163.com/blog/static/6377283520126294029822/ 自从上次对Robotium和nativedriver这两个工具做对比已经过去将近一年的时间了&#xff08;上次内容见http://kongqingyun123.blog.163.com/blog/static/637728352011614111010446/&#xff09;&#x…

POJ 1228 Grandpa's Estate --深入理解凸包

题意&#xff1a; 判断凸包是否稳定。 解法&#xff1a; 稳定凸包每条边上至少有三个点。 这题就在于求凸包的细节了&#xff0c;求凸包有两种算法&#xff1a; 1.基于水平序的Andrew算法 2.基于极角序的Graham算法 两种算法都有一个类似下面的语句&#xff1a; for(int i0;i&…

赵强老师免费公开课第一季:Hadoop的背景起源

标签&#xff1a;免费直播课 Hadoop 大数据 赵强原创作品&#xff0c;允许转载&#xff0c;转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://51edu.blog.51cto.com/8899635/1897555 Hadoop大数据免费公开课招募啦~~~赵强…

.NET Windows服务应用程序

此文旨在记录个人对windows服务的理解以及学习记录&#xff0c;高人可以直接绕行。 1.Windows 服务体系结构 http://technet.microsoft.com/zh-cn/library/aa998749(vexchg.65).aspx Windows 服务&#xff08;也称服务应用程序&#xff09;是无论用户是否登录都运行在 Windows …

io流技术java_技术文章-java中的IO流

1.File类Java中对文件有操作时&#xff0c;可以实例化一个File对象&#xff0c;将文件路径利用这样的形式赋给File对象。File f new File(filePath);File类的基本操作包括&#xff1a;判断是否存在&#xff1a;f.exists()获取文件名&#xff1a;f.getName()获取其绝对路径&…

bootstrap-代码-内联代码

说明通过 <code> 标签包裹内联样式的代码片段示例<!DOCTYPE html> <html lang"zh-CN"><head><meta charset"utf-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"view…

java类似php魔术方法_PHP与类有关的几个魔术方法

与类有关的其他魔术方法序列化与反序列化技术含义&#xff1a;序列化&#xff1a;就是将一个变量所代表的“内存”数据&#xff0c;转换为“字符串”形式并持久保存在硬盘上的一种做法。反序列化&#xff1a;就是将序列化之后保存在硬盘上的“字符串数据”&#xff0c;恢复为其…

IIS ARR设置HTTP跳转到HTTPS

GUI Version - Select the website you wish to configure- In the “Features View” panel, double click URL Rewrite You will notice there are currently no rules configured for this site. Click “Add Rules…” in the Actions menu to the right of the “Features…

2013.7.15DAY2

今天自己做了炸土豆 吼吼~ 才知道鸡蛋和小麦粉一起弄成浆糊涂到土豆条上炸效果很好~不过做失败了一些啦 失败的就用青椒炒着吃。。。。 下午准备做冰品来着。。。结果快递都到了特别忙。。。就只弄了杯冰啤酒。。。 虐了两道水题&#xff0c;贴上代码。。过于水了。。。 Descri…

AutoCAD.NET API 最新(2012)教程下载及在线视频教程DevTV

Autodek最近发布了基于最新版的AutoCAD 2012的.net API开发教程。基本内容包括&#xff1a; Overview of .NETPlugin BasicsUser InteractionDatabase fundamentalsDictionariesUser InterfaceEventsInputPoint MonitorJigs现在就可以从AutoCAD开发者中心下载&#xff0c; 看图…

inherits java_JAVA内部类和组合的区别

Why inner classes?At this point you’ve seen a lot of syntax and semantics describing the way inner classes work, but this doesn’t answer the question of why they exist. Why did Sun go to so much trouble to add this fundamental language feature? Feedbac…

SQL Server里一些未公开的扩展存储过程

SQL Server里一些未公开的扩展存储过程 [转帖] 博客天地 www.inbaidu.comSQL Server里一些未公开的扩展存储过程 扩展存储过程&#xff08;xp&#xff09;是直接运行在SQL Server地址空间里的动态链接库&#xff0c;是通过使用SQL Server开放数据服务API&#xff08;SQL Server…

Linux技巧:一次删除一百万个文件最快方法

昨天&#xff0c;我看到一个非常有趣的删除一个目录下的海量文件的方法。这个方法来自http://www.quora.com/How-can-someone-rapidly-delete-400-000-files里的Zhenyu Lee。 他没有使用find 或 xargs&#xff0c;他很有创意的利用了rsync的强大功能&#xff0c;使用rsync –de…