1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > java九宫格问题课程设计_课程设计九宫格数独.doc

java九宫格问题课程设计_课程设计九宫格数独.doc

时间:2020-06-05 16:07:19

相关推荐

java九宫格问题课程设计_课程设计九宫格数独.doc

课程设计九宫格数独

中南民族大学管理学院

学生课程设计报告

课题名称: java课程设计

选题名称: 九宫格数独

年 级:

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

学 号:

姓 名:

指导教师:

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

完成日期: 9月25日

学年至学年度第一学期

目 录

题目描述 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;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。