Java课程设计走迷宫

Java课程设计走迷宫
Java课程设计走迷宫

Java语言与面向对象技术课程设计报告

( 2014 -- 2015年度第1 学期)

走迷宫

走迷宫

目录

目录 (2)

1 概述 (1)

1.1 课程设计目的 (1)

1.2 课程设计内容 (1)

2 系统需求分析 (2)

2.1 系统目标 (2)

2.2 主体功能 (2)

2.3 开发环境 (3)

3 系统概要设计 (3)

3.1 系统的功能模块划分 (3)

3.2 系统流程图 (4)

4系统详细设计 (6)

4.1系统的主界面设计 (6)

4.2MAZE的设计 (7)

4.3PERSONINMAZE的设计 (8)

4.4WALLORROAD的设计 (8)

4.5MAZEPOINT的设计 (9)

4.6SOUND的设计 (10)

4.7RECORD的设计 (10)

5测试 (11)

5.1 测试方案 (11)

5.2 测试结果 (11)

6 小结 (16)

参考文献 (17)

附录1 源程序清单 (18)

Java语言与面向对象技术课程设计报告(2014)

走迷宫的设计

1 概述

1.1 课程设计目的

1.加深对《Java语言与面向对象技术》课程基础知识的理解,掌握Java语言面向对象程序设计的开发方法和步骤;

2.进一步理解面向对象程序设计的思想和方法,利用Java语言进行程序设计的能力;

3.课程设计将课本上的理论知识和实际应用相结合,锻炼学生发现问题、分析问题和解决问题的能力。加强学生研发、编写、调试程序的能力;

4.培养学生在项目开发中团队合作精神、创新意识及能力;

5.提高学生科技论文写作能力,规范完成课程设计报告。

1.2 课程设计内容

设计GUI界面的走迷宫游戏,游戏的目的是让走迷宫者从迷宫的入口处进从迷宫出口处出。具体内容如下:

(1)程序根据文本文件生成迷宫,这些文本文件称作迷宫文件。迷宫文件的扩展名为.maze,其中的文本内容有着特殊的组织结构:任意两行文本所含有的字符个数必须相同,而且字符只可以是“*”、“#”、“0”或“1”。迷宫文件中的“*”和“#”分别代表迷宫的入口和出口,“0”和“1”分别代表迷宫中的“路”和“墙”。例如,迷宫文件“中等迷宫.maze”所生成的迷宫如图1-1所示。

//中等迷宫.maze文件

000000101000101001010

010010100010100001010

*00001010100010100101

010001000100000101010

00101000101011010010#

101000010100000010001

010101001001101010010

101000100011101001010

001010100101010100100

走迷宫

图1-1 中等迷宫界面

(2)用户可以通过界面上提供的菜单选项,选择“迷宫文件”来生成对应的迷宫类型。

(3)用户可以通过界面上提供的菜单选项,选择迷宫中的“墙”和“路”的外观图像以及默认“墙”和“路”的图像。同时用户也可以更改迷宫中“走迷宫者”的图像。

(4)当用户开始玩游戏时想重新开始,用户可以随时单击界面上下方图片位置提供的按钮,重新开始走迷宫。

(5)本程序还具有音乐播放的功能,当用户成功移动走迷宫者后,程序播放简短的一声音乐。

(6)本迷宫程序增加“英雄榜”功能既排名功能,当用户成功将迷宫中的走迷宫者从入口移动到出口,如果成绩能排进前三名,就弹出一个对话框,将用户的成绩保存到“英雄榜”中,并且可以查看“英雄榜”以及删除“英雄榜”。

2 系统需求分析

2.1 系统目标

设计一个基于java的走迷宫小游戏,游戏的结果是让走迷宫者从迷宫的入口处走到迷宫的出口处。

根据已有的走迷宫小游戏进行新功能的增加。

2.2 主体功能

(1)玩家可以任意选择不同的迷宫图进行走迷宫游戏。

(2)玩家可以自定义玩家头像、墙的图像以及路的图像。

(3)游戏进行时可以点击提示按钮重新开始游戏

(4)根据玩家所玩的记录进行排行榜设置,分别列出保存各类型迷宫(简单迷宫、中等迷宫、复杂迷宫)的前三名,玩家完后可以点击英雄榜自行查看。

(5)玩家可以清除英雄榜并且重新载入游戏。

Java语言与面向对象技术课程设计报告(2014)

2.3 开发环境

Eclipse

3 系统概要设计

3.1 系统的功能模块划分

1.系统的总体设计

在设计走迷宫时,需要编写6个java源文件:MazeWindow.java、Maze.java、WallOrRoad.java、MazePoint.java、PersonInMaze.java、HandleMove.java、Record.java、ShowRecord.java和Sound.java。走迷宫除了上述6个java源文件所给出的类外,还需要Java系统提供的一些重要的类,如JmenuItem和File等类。走迷宫所用到的一些重要的类以及之间的组合关系如下图所示:

图3-1 各类之间的关系

2.系统模块划分

本系统主要有以下几个功能模块:创建走迷宫的主窗口、创建迷宫、创建墙和路及确定位置的对象,创建走迷宫者,创建处理键盘事件对象,创建英雄榜及显示英雄榜。

该软件主要组成模块和各个模块之间的调用关系如下图所示:

走迷宫

图3-2功能模块图

3.2 系统流程图

玩家开始打开界面进行游戏,通过菜单选项选择简单、中等、复杂迷宫中的一种进行游戏。开始的界面各个图像是程序默认的图像,玩家也可以根据自己的喜好自行选择文件夹里的图像来设置墙的图像、路的图像以及走迷宫者的图像。然后玩家根据提示点击走迷宫者开始游戏,玩家通过对键盘的操作来控制走迷宫者,使其从入口进入从出口出来。在玩的期间如果玩家在十秒内没能从出口出来则玩家的图像会变成猪的图像。游戏结束后如果玩家破纪录则根据提示进入英雄榜,同时可以查看英雄榜。玩家还可以清除英雄榜重新打开界面进行游戏。具体活动流程图如下所示:

图3-3 活动流程图

走迷宫

4系统详细设计

4.1系统的主界面设计

1.成员变量

maze是Maze类声明的对象,用来刻画迷宫,是MazeWindow类中最重要的成员之一。MazeWindow类根据迷宫文件,即根据该类中的mazeFile来创建maze对象。

bar是JMenuBar创建的菜单条,用来添加菜单。bar被放置在窗口的顶部。

menuChoice是JMenu创建的菜单,其名字为“选择迷宫文件”。menuChoice和menuImage被添加到菜单条bar中。

wallImage、roadImage、和defaultImage是JMenuItem创建的菜单项,名字依次为“墙的图像”、“路的图像”和“墙和路的默认图像”,这三个菜单项被添加到菜单menuImage中。wallImage、roadImage和defaultImage都将当前窗口注册为自己的ActionEvent事件监控器。

mazeFile、wallImageFile和roadImageFile是File的对象,其中mazeFile 用来存放迷宫文件的引用,而wallImageFile和roadImageFile分别用来存放迷宫中“墙”和“路”的外观图像文件的引用。

renew是JButton创建的按钮对象,名字为“重新开始”。Renew将当前窗口注册为自己的ActionEvent事件监控器。

2.方法

MazeWindow()是构造方法,负责完成窗口的初始化操作,其重要的操作之一是:读取当前目录中扩展名为.maze的迷宫文件,并根据迷宫文件的名字创建JMenuItem菜单项添加到menuChoice菜单中,然后将当前窗口注册为每个菜单上的ActionEvent事件监控器。另外,该构造方法在执行过程中,将mazeFile初始化为menuChoice菜单中的第一个菜单项所代表的迷宫文件,并根据该迷宫文件创建MazeWindow窗口中的maze对象。该构造方法还对wallImageFile和roadImageFile 进行了初始化,并指定迷宫中“墙”和“路”所使用的默认图像。

init()方法根据迷宫文件初始化maze对象,完成必要的初始化操作。

actionPerformed(ActionEvent)方法是MazeWindow类实现的ActionListener 接口中的方法。MazeWindow类创建的窗口时menuChoice菜单和menuImage菜单中的菜单项以及renew按钮上的ActionEvent事件监控器。当用户选中某个菜单项或单击按钮时,窗口将执行actionPerformed(ActionEvent)方法进行想应得操作。如果用户选中menuChoice菜单中的某个菜单项,即用户选择了一个迷宫文件,actionPerformed(ActionEvent)方法所执行的操作就是改变mazeFile所引用的迷宫文件,然后调用init()方法。如果用户选中menuImage菜单中的wallImage 或roadImageFile菜单项时,actionPerformed(ActionEvent)方法所执行的操作就是分别改变wallImage和roadImage所引用的图像文件,从而让maze对象改变“墙”或路的图像,如果用户选中menuImage菜单中的defaultImage菜单项,actionPerformed(ActionEvent)方法所执行的操作就是将wallImage和

Java语言与面向对象技术课程设计报告(2014)

roadImageFile所引用的图像文件恢复到默认设置,并让maze对象恢复“墙”或“路”的默认图像。当用户单击rennew按钮时,actionPerformed(ActionEvent)方法所进行的操作时保持当前的mazeFile所引用的迷宫文件,并执行init方法。

main(String[])方法是程序运行的入口方法。

3. 主界面效果图如下图所示

图4-1 主界面图

4.2Maze的设计

1.成员变量

mazeFile是File类声明的对象,用来存放迷宫文件的引用。

mazePoint是MazePoint类型的二位数组,其单元为MazePoint类创建的对象,用来确定“墙”和“路”以及“走迷宫者”的位置,即确定WallOrRoad以及PersonInMaze 对象在maze对象中的位置。

wallOrRoad是WallOrRoad类型的二维数组,七单元为WallOrRoad类索川江的对象,用来表示迷宫中的“墙”或“路”。

person是PersonInMaze类创建的对象,用来表示迷宫中的“走迷宫者”。

handleMove是HandleMove类创建的对象,负责处理person对象上的键盘事件。

wallImage和roadImage是File类声明的对象,用来存放绘制“墙”和“路”的外观的图文件的引用。

distance、m和n是int型数据。mazePoint对象根据distance的值来进行初始化,以便确定mazePoint对象之间的距离,m和n的值是二维数组mazePoint的行数和列数。

2. 方法

maze()是构造方法,负责创建maze对象。

maze对象调用setmazeFile(File)方法可根据参数指定的迷宫文件完成必要

走迷宫

的初始化,例如,创建mazePoint和wallOrRoad数组等。

maze对象调用setWallImage(File)方法可以设置wallImage文件对象。

maze对象调用setRoadImage(File)方法可以设置roadImage文件对象。

maze对象调用getHandleMove()返回到handleMove对象。

3. 根据编写的简单迷宫文件所显示的迷宫图像如下图所示

图4-2 简单迷宫图像-

4.3PersonInMaze的设计

1.效果图

PersonInMaze创建的对象效果如图所示

图4-3 走迷宫者图像

2.类的主要成员变量和方法

成员变量:

point是MazePoint型对象,用来确定PersonInMaze对象在Maze所创建的迷宫容器的位置。

tool是Toolkit对象,用来获得Inage对象。

方法:

MazePoint()是构造方法,负责完成MazePoint对象的初始化。

PersonInMaze对象调用setAtMazePoint(MazePoint)方法设置自己所在的“点”,即设置属性point的对象引用。

PersonInMaze对象电影getAtMazePoint()返回自己所在的“点”,即返回point 对象的引用。

PersonInMaze对象调用painTComponent(Graphics)方法绘制图形,即绘制tool对象所获得的Image对象。

4.4WallOrRoad的设计

1.成员变量

Java语言与面向对象技术课程设计报告(2014)

isRoad、isWall、isEnter和isOut是boolean型数据,取值为true或false,分别用了表示WallOrRoad对象是否为“路”、“墙”、“入口”和“出口”。

point是MazePoint型对象,用来确定WallOrRoad对象在Maze所创建的迷宫容器中的位置。

wallImage和roadImage是File类型的对象,用来确定WallOrRoad对象上所绘制的图像文件。

tool是Toolkit型对象,负责创建Image对象。

2.方法

WallOrRoad()是构造方法,负责完成WallOrRoad对象的初始化。

WallOrRoad对象调用setIsEnter(boolean)方法设置自己是否为迷宫的“入口”。

WallOrRoad对象调用getIsEnter()方法判断自己是否为迷宫的“入口”,即返回isEnter属性的值。

WallOrRoad对象调用setIsOut(boolean)方法设置自己是否为迷宫的“出口”。

WallOrRoad对象调用getIsOut()方法判断自己是否为迷宫的“出口”,即返回isOut属性的值。

WallOrRoad对象调用setIsRoad(boolean)方法设置自己是否为迷宫的“路”。

WallOrRoad对象调用getIsRoad()方法判断自己是否为迷宫的“路”,即返回isRoad属性的值。

WallOrRoad对象调用setIsWall(boolean)方法设置自己是否为迷宫的“墙”。

WallOrRoad对象调用getIsWall()方法判断自己是否为迷宫的“墙”,即返回isWall属性的值。

WallOrRoad对象调用setAtMazePoint(MazePonit)方法设置自己所在的“点”,及设置point对象的引用。

WallOrRoad对象调用getAtMazePoint()方法返回到自己所在的“点”,即返回point对象的引用。

WallOrRoad对象调用setWallImage(File)方法设置wallImage文件对象。

WallOrRoad对象调用setRoadImage(File)方法可以设置roadImage文件对象。

WallOrRoad对象调用paintComponent(Graphics)方法绘制图像,即绘制tool 对象根据roadImage或wallImage文件所见获得的Image对象。

4.5MazePoint的设计

1.效果图

MazePoint创建的对象负责确定WallOrRoad对象和PersonInMaze对象在Maze 容器中的所在位置。MazePoint创建的对象没有可现实的效果图。

2.类的主要成员变量和方法

1)成员变量

x和y是MazePoint对象中的两个int型数据,分别用来表示容器坐标系中的

走迷宫

x轴坐标和y轴坐标值。

havaWallOrRoad是boolean型数据,如果有WallOrRoad对象在该MazePoint 对象上时,haveWallOrRoad的值是true;否则为false。

wallOrRoad是WallOrRoad类声明的对象,用来存放一个WallOrRoad对象的引用,表明该WallOrRoad对象在当前MazePoint对象上。

2)方法

MazePoint(int,int)是构造方法,用来创建MazePoint对象。

MazePoint对象上是否有WallOrRoad对象,isHaveWallOrRoad()方法返回true;否则返回false。

MazePoint对象调用setIsWallOrRoad(boolean)方法可以根据参数的值设置当前MazePoint对象上是否有WallOrRoad对象。

MazePoint对象调用getX()和getY()方法可以返回其中的x轴坐标和y轴坐标。

MazePoint对象调用equls(TowerPoint)方法可以判断当前MazePoint对象是否和参数指定的MazePoint对象相同。

Point对象调用setWallOrRoad(WallOrRoad)方法,将参数指定的WallOrRoad 对象放置在当前MazePoint对象上。

Point对象调用getWallOrRoad()方法可以返回当前MazePoint对象上的WallOrRoad对象。

4.6Sound的设计

1. 成员变量

AudioClip声明对象aau;String 类声明soundname确定铃声的名字;

设定boolean型的对象b初始值为false

2.方法

makeSound(String soundname)制作铃声,setSound(String soundname)设置铃声,stop()使铃声停止,boolean isPlaying()判断铃声是否播放

4.7Record的设计

1.成员变量

Time 为时间,设定其初始值为0.

Maze为String类声明的对象,用来确定人物所处的迷宫,message用来输出信息。

textName为JTextField声明的对象,用来设置文本名称,

label为Label声明的对象,其值为空,

Jbutton声明两个对象,分别为确定,取消。

2.方法

Record()方法用来记录成绩,setMaze(String maze)用来设置迷宫类型,actionPerformed(ActionEvent e)用来记录走迷宫者的表现,

Java语言与面向对象技术课程设计报告(2014)

isBrokenRecord(String key,int time)/在HandleMove中调用,key是迷宫名,此方法用来判断是否破纪录了,writeRecord(String key,String message),key是迷宫文件名,message是记录地图名、时间、用户名的字符串,写下记录。

3. 记录英雄榜效果图如下所示

图4-4 记录成绩效果图

5测试

5.1 测试方案

首先打开游戏查看游戏的主界面是否符合要求,然后根据提示开始进行游戏。根据菜单栏选项任意选择一种迷宫游戏看是否根据自己的选择而改变。点击菜单栏墙和路的图像选择默认的图像检查是否跟代码编写时设置相同,然后根据自己喜好选择不同的图片作为墙和路的背景。

开始游戏根据提示点击走迷宫者图像开有游戏,检查键盘方向键是否控制走迷宫者走的方向,根据键盘的上下左右的控制是否会分别四种不同的声音发出。检测是否遇到墙就不能走,当走迷宫者在迷宫内十秒内还没有走出看走迷宫者的图像是否变成猪的图像。当玩家走出迷宫破纪录是否记录个人信息,检查英雄榜是否真有前三名的成绩。清空英雄榜重新开始游戏查看英雄榜是否真的被清空。

5.2 测试结果

1.选择迷宫种类的测试

在原文件内编写不同三种迷宫文件,在主界面中根据选择会出现不同的迷宫如下图所示:

走迷宫

图5-1 中等迷宫图像

图5-2 复杂迷宫图像

图5-3 简单迷宫图像

Java语言与面向对象技术课程设计报告(2014)

2.迷宫图片的设置测试

以上的图像都是默认的图像,玩家可以更改墙、路以及走迷宫者的图像。在玩家玩超过十秒还没出来的时候走迷宫者会变成猪的头像,点击窗口下方可重新开始游戏。

图5-4 选择图片是打开的文件

图5-5 修改路、墙走迷宫者后的迷宫图像

3.开始游戏的测试

玩家根据提示点击走迷宫者进行游戏同时开始计时,用键盘上、下、左、右键控制走迷宫者开始走迷宫,只有从入口进从出口处出来游戏才结束。如果在迷宫内时间超过十秒钟则走迷宫者的图像变成猪的图像。

走迷宫

图5-6 开始游戏的界面

图5-7游戏超过十秒走迷宫者的图像变化

图5-8 上图有小人图像按钮为重新开始按钮

4.破纪录记录成绩的测试

玩家通过迷宫后程序会根据玩家的成绩做出不同响应,并把玩该种迷宫成绩的前三名列入英雄榜。

Java语言与面向对象技术课程设计报告(2014)

图5-9 游戏完成超过十秒界面

图5-10 闯关成功界面

图5-11 记录成绩界面

走迷宫

图5-12 查看英雄榜界面

6 小结

走迷宫的游戏功能已经基本实现,在此次课程设计过程中,我遇到了一些问题在程序中各类的反复关联和依赖关系让类与类之间的关系复杂,不是能很好的把握,这样对游戏的实现造成了一定的麻烦,通过向同学请教渐渐地摸索了一些,而当把各个类都编写完之后,程序运行不起来,当时觉得很困惑,明明自己编写的类已经没什么差错,可就是运行不起来有点小郁闷,再经同学指点发现原来是一些必要的文件的存放路径不对,当一切都整合完毕之后,程序运行起来了,这让我十分开心。同时我也意识到团队合作的重要性,个人的力量在某些方面是有限的,而一个团队的智慧是无穷大的。

通过这次“走迷宫’的课程设计更让我意识到了理论与事件结合的在重要性,只有理论知识是完全不够的,我们还要学会将它运用到实践中,用它来实现我们所要做的项目。亲身的实践让我们对理论知识的一些难点和不懂的地方有了更好地理解与认识。希望以后能有更多的机会动手来进行操作。

Java语言与面向对象技术课程设计报告(2014)

参考文献

[1]耿祥义,张跃平. Java2实用教程(第三版)[M] . 北京:清华大学出版社, 2006

[2]耿祥义. Java课程设计(第三版)[M] . 北京:清华大学出版社, 2004

[3]张跃平.Java2实用教程实验指导与习题解答(第三版)[M]. 北京:清华大学出版社, 2004

走迷宫

附录

附录1 源程序清单

MazeWindow

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import java.io.*;

import java.util.Hashtable;

import javax.swing.filechooser.*;

public class MazeWindow extends JFrame implements ActionListener{

Maze maze;

JMenuBar bar;//声明菜单条对象

JMenu menuChoice,menuImage,hero;//声明菜单对象

JmenuItem wallImage,roadImage,defaultImage,playerImage1,heroItem,heroclear; File mazeFile,wallImageFile,roadImageFile;

JButton renew;//声明按钮对象

String player="人.jpg";

ShowRecord showRecord; //ShowRecord类创建一个类对象

File 英雄榜=new File("英雄榜.txt");

File file[]=null;

static String[] mazeName;

static String currentMap;

Hashtable hashtable=null; //哈希表 (英雄榜)

MazeWindow(){

wallImageFile=new File("墙.jpg");

roadImageFile=new File("路.jpg");

bar=new JMenuBar();//创建菜单条对象

menuChoice=new JMenu("选择迷宫");

File dir=new File(".");

file=dir.listFiles(new FilenameFilter(){

public boolean accept(File dir,String name){

return name.endsWith("maze");

}

}

);

mazeName=new String[file.length];

for(int i=0;i< file.length;i++)

{

mazeName[i]=file[i].getName().substring(0,

file[i].getName().length()-5);//substring(截取的起始位置,截取的长度);

}

for(int i=0;i< mazeName.length;i++)

{

JMenuItem item=new JMenuItem(mazeName[i]);

item.addActionListener(this);

menuChoice.add(item);

}

mazeFile=new File(file[0].getName());

currentMap=mazeName[0];

init();

menuImage=new JMenu("选择墙和路的图像");

wallImage=new JMenuItem("墙的图像");//创建菜单项对象

roadImage=new JMenuItem("路的图像");

playerImage1=new JMenuItem("玩家的图像");

defaultImage=new JMenuItem("墙和路的默认图像");

menuImage.add(wallImage);//菜单项添加到菜单上

menuImage.add(roadImage);

menuImage.add(playerImage1);//

menuImage.add(defaultImage);

hero=new JMenu("英雄榜");

heroItem=new JMenuItem("查看英雄榜");

heroclear=new JMenuItem("清空英雄榜");

hero.add(heroItem);

hero.add(heroclear);

bar.add(menuChoice);

bar.add(menuImage);//菜单添加到菜单条上,

bar.add(hero);

setJMenuBar(bar);

wallImage.addActionListener(this);//为菜单项添加监听器

roadImage.addActionListener(this);

(完整版)java课程设计——客户管理系统源代码

完整代码: 1.客户类(class person): package客户管理系统; public class Person { private int num; private String name; private String address; private String sex; public Person(){} public Person(int num,String name,String address,String sex){ this.num=num; https://www.360docs.net/doc/7f14974002.html,=name; this.address=address; this.sex=sex; } public void setNum(int num){ this.num=num; } public int getNum(){ return num; } public void setName(String name){ https://www.360docs.net/doc/7f14974002.html,=name; } public String getName(){ return name; } public void setAddress(String address){ this.address=address; } public String getAddress(){ return address;

} public void setSex(String sex){ this.sex=sex; } public String getSex(){ return sex; } public String toString() { return"\t"+num+"\t"+name+"\t"+address+"\t"+sex; } } 2.菜单类(class Menu): package客户管理系统; import java.util.Scanner; public class Menu { Scanner input=new Scanner(System.in); public Menu() {} public int showMenu() { System.out.println("***********************************" ); System.out.println("客户管理系统"); System.out.println("===================================" ); System.out.println("【1】增加"); System.out.println("【2】删除"); System.out.println("【3】修改"); System.out.println("【4】查询"); System.out.println("【5】浏览"); System.out.println("【6】退出"); System.out.println("***********************************" ); System.out.print("请选择操作:");

java课程设计报告书

《Java程序设计》课程设计报告2015—2016学年第二学期 设计题目:《数字连连看》 学生:黄杰 学号: 2 专业班级:软件工程1402 指导教师:国权 2016 年7 月2 日

目录 1.JAVA程序设计书 3 1.1《简易连连看》 3 1.1.1具体要求 3 1.2本系统设计的知识点 3 2.功能设计 3 2.1算法设计 3 2.2部分模块流程图 4 3.代码设计 5 4.界面及运行效果,测试工具与测试效果14 5.设计总结 16 5.1.程序调试情况:16 5.2.本人在程序设计中感想: 16 6.致 16 主要参考文献16

: 1.1Java程序课程设计任务书 1.1《简易连连看游戏》 本程序基本实现了小游戏连连看的功能,玩家找出游戏中2个相同图案的方块,如果它们之间的连接线不多于3根直线,则将其连接起来,就可以成功将图案相同的方块消除,否则不会消失,当游戏中已没有满足条件的图案时,点击重列,可重新排序,游戏结束会跳出所得分数,该游戏的特点是与自己竞争,超过自己之前所创纪录。 1.1.1具体要求(包括技术要求等): <1>. 该游戏界面为方格类型,由纵6横7的直线平行垂直交叉组成,分别是6行5列方块拼接,共有30格小方块。方块上随机分布一些数字,数字的要至少两两相同,位置随机打乱。 <2>. 当将相同数字的方块连接,但要满足只能至少单边无阻碍呈直线趋势连接,否则无效,若连接一对成功就消失于界面,继续游戏,直到游戏结束,并能返回所得分数。 <3>. 重列按钮(帮助)的功能:游戏过程中,遇到困难难以寻找下一符合要求的一对数字,可按左下按钮重置重新排列方可继续游戏。 <4>. 退出按钮:击左下方的“退出游戏”按钮,即可结束游戏。 1.2本系统涉及的知识点: 循环,javaGUI组件,函数,数组,分支等 2.功能设计 2.1算法设计 本系统需要实现的功能要求: 图一,数字按钮功能模块 图二,三个功能按钮模块

Java课程设计参考范文

基于B/S模式的小区物业管理系统的设计与实现 计算机科学与技术2009级一班 学生姓名:陆国良指导老师:陶世明 摘要:相比于C/S模式的物业管理系统,B/S模式的管理系统却极少。做一个B/S模式的物业管理系统,既可以让业主使用,又可以让物业管理人员使用,通过这个系统,获取到各自需要的信息,从而给管理带来便利。这也是我们开发物业管理系统的初衷。住户最基本的要求有以下几点:界面的友好性、易用性、实用性和吸引性。本设计将从以上几个方面进行系统的开发工作。物业管理人员除了有住户的以上要求外,管理的便利性也要考虑。在系统的开发中,使用JavaScript、CSS样式和HTML对界面进行布局,然后使用DOTNET平台下C#语言进行全面的开发,其中使用了三层架构的思想。 关键词:C/S, B/S, DOTNET, 三层架构 一、前言 物业管理系统在市场上已经是一项相当成熟的技术,例如思源物业,凤凰物业等。他们为许多开发物业管理的开发人员提供了成功的案例。为什么要使用信息化系统呢?在以前我们不都是使用一张纸,一支笔就搞定了么,为什么还要兴师动众来开发这样一个系统呢。下面进行一下前后的对比。 手工模式 ?传统的文档记录管理模式,易出错丢失; ?采用人工统计核算,工作量大且容易出错; ?不利于公司领导了解各部门的工作情况,影响企业整体决策; ?管理缺乏有效控制,工作流程不够规范; ?服务不及时,客户满意度低; 信息化后 ?数据管理容易; ?采用计算机进行运算,效率高且精确; ?操作简单方便; ?能够充分利用资源,做出合理的安排; 之所以人们对物业管理系统津津乐道,主要是因为小区是城市生活的基本单位,小区的管理直接影响到我们的生活质量。系统有使用Java开发的,有使用.Net开发的,有基于B/S模式的,有基于C/S 模式的,它们的共同出发点都是开发出高效的,便于管理的物业管理系统,这也是许多物业公司不惜高

2013级JAVA课程设计题目

Java课程设计题目 一、课程设计总体要求: 本次课程设计是对前面学过的所有面向对象的编程思想以及编程方法的一个总结、回顾和实践,因此,开始设计前学生一定要先回顾以前所学的内容,明确本次作业设计所要用到的技术点并到网上搜索以及查阅相关的书籍来搜集资料。通过编写一个基于JA V A的应用系统综合实例,来掌握Java语言编程技巧。 重要说明日程说明: 1、4月21日前分组选题,查询资料,21-27日程序设计以及上机调试。最多2人一组。 2、设计报告打印一份,并将电子版以”13信算xx班第XX组报告.rar”的压缩包发到邮 箱:325822013@https://www.360docs.net/doc/7f14974002.html,邮箱。 3、压缩包里包含:设计报告的word版,word名称参考说明2,程序源代码文件。 注意:4月27日23点59分之后不再接收电子以及纸质稿,逾期成绩一律按不及格计算,联系方式qq:325822013,TEL:670705。 机房开放安排说明: 1.机房地点:求中502、503 2.时间安排共开放2.5天: 21日(周一):1-2节信算1、2班/ 3-4节数学1、2班/ 5-6节信算3班 23日(周三)全天,25日(周五)上午自由开放 二、参考题目及要求: 1、编写一个记事本程序(2人) 要求:用图形用户界面实现。 能实现编辑、保存、另存为、查找替换等功能。 提示:使用文件输入输出流。 2、ATM柜员机模拟程序(3人) 要求:使用图形用户界面。当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行: 1、查询余额:初始余额为10000元 2、A TM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。 3、A TM存款:不能出现负存款。 4、修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。 3、超市收银系统(3人) 要求:使用图形用户界面。 由收银员输入顾客的会员卡卡号(若有卡)、所购商品的货号等。从数据库中取出有关价格信息,再把这些信息返回给收银台。同时把该收银台的销售总量和有关种类商品的剩余量以及该持卡顾客的消费情况交数据库存储以供查询。 另外,对没有卡的消费情况不记录该顾客的消费情况等个人信息。如果一个未持卡顾客一次购物满200元,可为其发放一张会员卡,以后在该商场购物可向9折优惠。

java记事本课程设计论文附源码

设计题目:记事本课程设计 专业:电子信息科学与技术 班级:电子1202班 学号:20121210606 姓名:王鹏 2015 年7月

XXX学院本科学生课程设计任务书

摘要 目前,很多新的技术领域都涉及到了Java语言,Java语言是面向对象编程,并涉及到网络、多线程等重要的基础知识,因此Java语言也是学习面向对象编程和网络编程的首选语言。此次课程设计主要通过编写一个简单的记事本程序使我们深入理解并实践在本课程中所学的有关JAVA程序设计方面的语言基础、异常处理、事件处理、小应用程序以及图形用户界面设计等内容。此简易记事本程序,使用Java程序编写,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切等功能。该程序主要用到了Java swing和事件监听等。 关键词记事本程序,java语言,Java swing

目录 摘要 (1) 1 需求分析 (3) 1.1需求分析 (3) 1.2功能设计 (3) 2 概要分析 (4) 2.1概要设计思想 (4) 2.2程序运行界面 (4) 2.3程序模块说明 (4) 2.4流程图 (5) 2.5程序相关说明 (6) 3 程序详细设计与分析 (8) 3.1构建菜单栏及其下拉菜单 (8) 3.2“文件”菜单操作的事件监听 (8) 3.3“编辑”、“格式”等菜单的事件监听 (10) 3.4异常处理 (11) 4 测试分析 (12) 5 源程序清单 (15) 结论 (22) 参考文献 (23)

1 需求分析 1.1需求分析 现在网络上各种文档编辑器数不胜数,有EmEditor ,UEStudio ,GridinSoft Notepad ,Notepad++,win32pad ,SkimEdit,UniRed, xint 。功能也是应有尽有,有能改变字体的,有能改变文字颜色的。但是,这些软件又存在各种各样的瑕疵或问题:有的文件体积相对于一般文字编辑来说太大;有的功能太繁杂,使初级使用者一时难以掌握。仅从日常应用方面来说,一个文本编辑器只需一些简单实用的功能就够了。本程序设计就是依照这样一种使用需要设计了一个简单的记事本程序。 1.2功能设计 本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面: 1、菜单中有“文件”,“编辑”,“格式”,“查看”,“帮助”五个主菜单。 2、“文件”有“新建”“打开”“保存”“另存为”“退出”五个子菜单:分别用于新建文件,打开文件,保存文件,另存文件,退出记事本。 3、“编辑”中有“撤销”“剪切”“复制”“粘贴”“全选”“时间/日期”六个字菜单:用于撤销操作,剪切文字,复制文字,粘贴文字。全部选择,插入日期、时间。 4、“格式”菜单中有“自动换行”和“字体”两个子菜单。 5、“查看”菜单只是显示状态栏。 6、“帮助”菜单中只有“关于记事本”子菜单,主要用于显示该程序的名字,版本等信息。

Java课程设计报告模板

Java课程设计报告 模板

浙江科技学院 《Java程序设计》课程设计报告 设计题目:学生信息管理系统 姓名:邱焕明 学号: 所属院系:信息学院 专业:软件工程 小组成员:邱焕明 设计时间: -1-6 指导教师:虞建东

一、课程设计目的 (1)实验目的:结合开发的系统,给出学生信息管理系统 二、课程设计完成的任务 三、设计过程 (一)需求分析 1、基础资料管理 基础资料管理包括对院系、班级和学期的设置。该模块可实现以下功能: 添加、修改、删除和显示院系代码、院系名称和电话号码。 添加、修改、删除和显示班级代码、班级名称、学生人数和所属院系名。 添加、修改、删除和显示学期代码、学期名称。 2、学生信息管理 学生信息管理包括对学生档案和学籍的管理。该模块可实现以下功能: 添加、修改、查询和显示学生的基本信息、所属班级和院系。 记录学生学籍、学生离校信息和学生调动信息。 3、课程信息管理 课程信息管理包括对课程设置和班级选课的管理。该模块可实

现以下功能: 添加、修改、删除和显示课程代码、课程名称、学分和院系名称。 添加、删除和提交班级所选课程。 4、成绩信息管理 成绩信息管理包括对成绩录入和成绩分析的管理。该模块可实现以下功能: 录入班级课程成绩,以不同形式(列表统计、图表分析)显示班级课程成绩。 (二)系统设计概念、流程初定义 1、实体名:院系 2、实体名:班级 3、实体名:学生 4、实体名:课程 (三)系统内容规划 1、班级信息表 表3-1 班级信息表 2、课程信息表 表3-2 课程信息表

(四)系统总体设计 内 (五)系统详细设计 (六)系统测试 列名 数据类型 长度 备注 课程代码 char 10 主键 课程名称 varchar 50 无 学 分 tinyint 1 无 所属院系 varchar 50 无

java课设记事本说明书

******************* 实践教学 ******************* 兰州理工大学 计算机与通信学院 2012年秋季学期 Java 课程设计 题目:记事本系统设计 专业班级: 姓名: 学号: 指导教师: 成绩:

目录 摘要 (1) 序言 (2) 正文 (3) 1.系统设计与分析 (3) 2.详细设计 (3) 3.系统测试 (14) 4.软件使用说明书 (17) 设计总结 (18) 参考文献 (19) 致谢 (20) 附录(程序源代码) (21)

摘要 本次课程设计的题目是用java语言编写记事本程序,要求是:用图形界面实现;含有简单的文字编辑功能,如:剪切、复制、粘贴、删除;还能实现保存、另存为、查找、替换等功能。 本程序主要用到了Java swing组件和事件监听器,还用到了文件的输入输出流。记事本的界面参考了Windows中的记事本界面,并且根据课程设计要求做了适当的调整。 关键字:记事本程序;Java语言;Jcreator

序言 Java的前身是Oak,它一开始只是被应用于消费性电子产品中。后来它的开发者们发现它还可以被用于更大范围的Internet上。1995年,Java语言的名字从Oak编程了Java。1997年J2SE1.1发布。1998年J2SE1.2发布,标志Java2的诞生。十多年来,Java编程语言及平台成功地运用在网络计算及移动等各个领域。Java的体系结构由Java语言、Java class、Java API、Java虚拟机组成。它具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。Java支持多线程编程,Java运行时系统在多线程同步方面具有成熟的解决方案。Java的平台标准有Java ME,Java SE和Java EE。Java发展到今天,它的卓越成就及在业界的地位毋庸置疑。目前在众多的支持Java的开发工具中主要的7有Java Development Kit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。其中Java Development Kit 简称JDK是大多开发工具的基础。以上的每种开发工具都有优缺点,对于开发者来说,重要的是要根据自己的开发规模、开发内容和软硬件环境等因素来选择一种合适的开发工具。 在本程序设计中,因为需要开发的是记事本程序,规模较小,内容较少, 所以选择了适合初学者使用的JCreator开发工具。

java课程设计参考题目

参考题目 选题原则:所完成的系统应能够在生活、学习中使用,以实用性为主。模仿生活、学习中使用到的各种软件,做mini版本。开发的目标是自己、同学愿意使用你所开发的软件完成一些简单任务。从小功能着手,一点点的添加功能。添加一个功能就运行试试,减少越来越难于调试的可能。也可自选。jsp或java完成都可。 1.文件复制 完成一个程序,这个程序可以将指定文件夹中的内容复制到另一个文件夹中去。 设计要求: 1)实现文件夹复制; 2)程序中需要考虑输入输出异常处理; 3)用户可以指定不同的参数:用-ext指定要复制的文件的扩展名,可以 同时指定多个扩展名;用-empty指定不复制空目录;用-zip表示进行压缩; 还可以增加其它选项 4)在dos控制台窗口环境下,通过命令行参数运行程序,如: 2.图片浏览器 类似于ACDSEE的图片浏览器 设计要求: 1)可以对图片进行不同的分类,并能够按分类显示 2)备份功能,用压缩实现用户选定文件的备份,用户指定文件的方式 要多样,如在分类上、在实际文件夹上。 3)幻灯功能,通过分类、实际文件夹等多种方式指定要幻灯浏览的图 片; 3.压缩文件浏览器 仿照Winrar浏览压缩文件。 设计要求: 1)能够以图形方式显示zip、tar、jar压缩文件中的内容

2)能解压用户选定的文件到选定的目录,注意winrar中指定解压整个 目录的方式 3)能够对压缩文件增加注释 4.文件加密工具 能够对文件、文件夹进行加密,可以由用户选择加密算法。 设计要求: 1)图形界面选定加密、解密的文件。 5.提醒簿(使用数据库) 仿照雪狐提醒簿。 设计要求: 1)由用户定义时间及提醒的内容; 2)定时时间到弹出窗口提醒或使用其它方式; 3)用户可以更改、删除提醒; 4)提醒的方式中包括使用邮件; 5)可以浏览提醒,已完成和未完成使用不同的图标; 6)用户可以注册、登录,登录的显示属于自己的提醒事项; 7)可以导出、导入提醒。 6.部门员工管理系统(使用数据库) 图形界面实现对部门、员工的管理。部门可以增、删、改,员工可以增、删、改及在不同的部门间调动。部门放JComboBox中,所属员工信息用多个JTextField 或JTable显示都可。要用菜单实现不同的功能。 7.备忘录(使用数据库) 设计要求: 1)系统界面的左侧是日历,该日历可以按年份前后翻动,在某年内按 月可以前后翻动; 2)单击选定的日期,系统界面的右侧显示相应的记事,可增、删、改; 3)每日的记事可有多条。 8.学生成绩管理系统(使用数据库) 功能要求: 2

学生信息管理系统java课程设计含源代码完整版

学生信息管理系统j a v a 课程设计含源代码 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

JAVA程序设计课程设计报告 课题: 学生信息管理系统 姓名: 学号: 同组姓名: 专业班级: 指导教师: 1 2 1、功能模块划分 (3) 2、数据库结构描述 (4) 3、系统详细设计文档 (6) 4、各个模块的实现方法描述 (9) 5、测试数据及期望结果 (11)

一、系统描述 1、需求实现的功能 、录入学生基本信息的功能 学生基本信息主要包括:学号、姓名、年龄、出生地、专业、班级总学分,在插入时,如果数据库已经存在该学号,则不能再插入该学号。 、修改学生基本信息的功能 在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。 、查询学生基本信息的功能 可使用“姓名”对已存有的学生资料进行查询。 、删除学生基本信息的功能 在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。 、用户登陆 用不同的登录权限可以进入不同的后台界面,从而实现权限操作。 、用户登陆信息设置 可以修改用户登陆密码 2、设计目的 学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的

Java课程设计报告

湖北大学 本科课程设计 题目 ATM 自助机模拟程序姓名 学号 专业年级 指导教师 职称

目录 第一章系统描述 (2) 1 前言 (2) 2 系统功能需求 (2) 第二章系统分析与设计 (3) 1 功能模块划分 (3) 2 功能模块的描述 (3) 3 系统设计流程图 (4) 4 测试数据及期望结果 (6) 第三章系统详细设计 (7) 1 主界面开发设计 (7) 2 功能选择界面开发设计 (7) 3 取款界面开发设计 (7) 4 存款界面开发设计 (8) 5 转账界面开发设计 (8) 6 查询界面开发设计 (9) 7 修改密码界面开发设计 (9) 8 界面开发设计使用函数 (9) 第四章系统测试 (11) 第五章源程序部分清单 (21) 第六章实验心得 (30) 参考文献 (31)

第一章系统描述 1 前言 Java技术是一门简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言,它也是一个平台,它基于Java虚拟机技术,借助这个东西建立了跨平台的优势。Java编程语言与众不同之处在于:Java程序既是编译型的,又是解释型的。 Java平台是一种纯软件平台,它有三个版本Java SE、Java EE、Java ME。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。 本课程设计采用Eclipse作为开发工具,并采用Window Builder下的SWT Designer来实现相应的功能。着重通过模拟实现当前非常快捷又使用的ATM机来加深对java开发设计的了解,从而进一步提高自己对java图像界面的设计及相关知识的认识。 2 系统功能需求 当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM 柜员机系统,用户可以按照以下规则进行: (1)查询余额:初始余额为10000元。 (2)ATM取款:每次取款金额为100的倍数,一次取款不能超过1000,总额不 超过5000元,支取金额不允许透支,有快捷取款和用户自定义取款。 (3)ATM存款:每次存款金额为100的倍数,一次存款不能超过1000,不能出 现负存款。 (4)ATM转账:只有在两次输入账号相同且输入转账金额正确的情况下才允许 转账,不允许透支。 (5)修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只 有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。

java课程设计题目

java课程设计题目 设设HoMEWORK2012-02-2819:23 要求设明, 1.人一设~每设设设设一设目~如果列出多版本~只需要完成其中一版本两个个个即 可 2.由设委设设设设设各设设及其设目~下周以设子模式提交设目列表名设学档 3.每设必设完成相设的UML设;至少需要包括用例设、设设、设序设或者设作设,~UML 设可有Visio或者Rose或者StarUML或其他设似的工具完成 4.第六周设始机抽设设大家演示设述从随 设目列表如下, 1.打字游设(JavaGUI本地版/JSP版本/Javascript) 2.设文件设行明文加密(JavaGUI本地版) 3.在设设店设设站网(WEB版本) 4.5子棋游设(设版网/WEB版) 5.俄设斯方设(设版网/WEB版) 6.音设播放器(JavaGUI本地版) 7.设子相册(JavaGUI本地版) 8.多人聊天室((JavaGUI本地版/WEB版)9.模设考设系设(WEB版) 10.克游设扑(JavaGUI本地版/WEB版) 设设设明, 1.打字游设(JavaGUI本地版/JSP版本/Javascript)

设设背设设和打字速度, 可根据一片文章自设设入设设 整设设下落或者淡入淡出个 同设多设设出设个 设设入设设的设设分析设设功能 设分 2.设文件设行明文加密(JavaGUI本地版) DEC加解密,需要密设~可以解密 3.在设设店设设站网(WEB版本) 设设目的目的是设设一设合站~设设《在设设店》的基本功能~如管理设设~上设个网网 售网设设等功能。要求站能设布到Internet上。设站采用网 Jsp+JavaBean+JDBC+MySql|SQLServer等技设架~服设器端采用框Tomcat服设器。 4.5子棋游设(设版网/WEB版) 设设程序~完成下述功能,在大于9设的方形格棋设上~放置黑白色棋子条网两~两网弈两条人各设一色~通设设设~可以在任何设的交点上放置棋子~同色棋子~先同行、同列或者同设角设上5设设成一设者设设。条 5.俄设斯方设(设版网/WEB版) 设设程序~完成下述功能, 完成一可以人通设设设设的俄设斯方设游设~每一方都可以在自己的幕个两个网屏 上看到设方的前游设~游设先设束的一方设失设者当状况 6.音设播放器(JavaGUI本地版)

java(源代码)连连看课程设计

目录 第一章引言 (2) 1.背景 (2) 1.1课程设计内容 (3) 第二章系统介绍 (4) 1.连连看游戏规则 (4) 1.1游戏基本规则 (4) 1.2操作规则 (4) 1.3胜利和失败 (4) 2.游戏流程图分析 (4) 第三章系统游戏设计 (7) 1.系统分析 (7) 1.1游戏系统需求分析 (7) 1.2系统开发及运行环境 (7) 1.3系统功能主要要求 (7) 2.系统总体结构 (8) 3. 系统各模块功能介绍 (8) 第四章系统的具体实现 (9) 1.系统主要运行界面 (9) 1.1运行界面 (9) 1.2执行界面,进入游戏正常运行 (9) 1.3时间到界面 (10) 1.4赢家界面 (11) 1.5进度条界面 (12) 图4.5程序运行进度条 (12) 2.游戏实现代码 (12) 2.1主面板内所需要的组件的声明 (12) 2.2填充一个矩形框,进行显示时间 (12) 2.3主面板及各组件初始化 (13) 2.4创建时间对象,每隔100毫秒刷新一次 (13) 2.5分数代码。 (13) 3.消除图片具体情况 (14) 3.1两次点击相同图片相邻 (14)

3.2水平方向消去算法 (14) 3.3竖直方向消去算法 (15) 第五章程序清单 (16) 第六章结束语 (24) 第七章参考文献 (25) 第一章引言 1.背景 游戏“连连看”顾名思义就是找出相关联的东西,这个连连看在网上基本是用在小游戏中,就是找出相同的两样东西,在一定的规则之内可以做为相关联处理。“连连看”的发展经历了从桌面游戏、在线游戏、社交游戏三个过程。 游戏“连连看”是源自台湾的桌面小游戏,自从流入大陆以来风靡一时,也吸引众多程序员开发出多种版本的“连连看”。这其中,顾方编写的“阿达连连看”以其精良的制作广受好评,这也成为顾方“阿达系列软件”的核心产品。并于2004年,取得了国家版权局的计算机软件著作权登记证书。 随着Flash应用的流行,网上出现了多种在线Flash版本“连连看”。如“水晶连连看”、“果蔬连连看”等,流行的“水晶连连看”以华丽界面吸引了一大批的女性玩家。 2008年,随着社交网络的普及和开放平台的兴起,“连连看”被引入了社交网络。“连连看”与个人空间相结合,被快速的传播,成为一款热门的社交游戏,其中以开发者Jonevey在Manyou开放平台上推出的“宠物连连看”最为流行。 网络小游戏、网页游戏越来越受网民欢迎,除了玩的方法简单外(不像其他游戏还需要注册下载繁琐过程),很多游戏不乏经典。连连看游戏就是典型。 不管走到哪个网页游戏网站,连连看游戏总是排在受玩家欢迎排名的前5位,休闲、趣味、益智是连连看玩不厌的精华,且不分男女老少、工薪白领,是一款适合大众的经典网络、单机休闲小游戏。 游戏《连连看》,只要将相同的两张牌用三根以内的直线连在一起就可以消除,规则简单容易上手。游戏速度节奏快,画面清晰可爱,适合细心的玩家。丰富的道具和公共模式的加入,增强游戏的竞争性。多样式的地图,使玩家在各个游戏水平都可以寻找到挑战的目标,长期地保持游戏的新鲜感。 该游戏由30张不同的图片组成,游戏开始将会出现30张随机组合的图片,在规则下点击两张相同的图片后图片将会消失。图片全部消完为游戏成功。游戏还将设置退出,再来一局的按钮,并实现该功能,方便用户进行操作。

java课程设计报告书

《Java程序设计》课程设计报告 2015—2016学年第二学期 设计题目:《数字连连看》 学生:黄杰 学号: 2 专业班级:软件工程1402 指导教师:国权 2016 年 7 月 2 日 目录 1.JAVA程序设计书 3 1.1《简易连连看》3 1.1.1具体要求 3 1.2本系统设计的知识点 3

2.功能设计 3 2.1算法设计 3 2.2部分模块流程图 4 3.代码设计 5 4.界面及运行效果,测试工具与测试效果14 5.设计总结 16 5.1.程序调试情况:16 5.2.本人在程序设计中感想: 16 6.致 16 主要参考文献16

: 1.1Java程序课程设计任务书 1.1《简易连连看游戏》 本程序基本实现了小游戏连连看的功能,玩家找出游戏中2个相同图案的方块,如果它们之间的连接线不多于3根直线,则将其连接起来,就可以成功将图案相同的方块消除,否则不会消失,当游戏中已没有满足条件的图案时,点击重列,可重新排序,游戏结束会跳出所得分数,该游戏的特点是与自己竞争,超过自己之前所创纪录。 1.1.1具体要求(包括技术要求等): <1>. 该游戏界面为方格类型,由纵6横7的直线平行垂直交叉组成,分别是6行5列方块拼接,共有30格小方块。方块上随机分布一些数字,数字的要至少两两相同,位置随机打乱。 <2>. 当将相同数字的方块连接,但要满足只能至少单边无阻碍呈直线趋势连接,否则无效,若连接一对成功就消失于界面,继续游戏,直到游戏结束,并能返回所得分数。 <3>. 重列按钮(帮助)的功能:游戏过程中,遇到困难难以寻找下一符合要求的一对数字,可按左下按钮重置重新排列方可继续游戏。 <4>. 退出按钮:击左下方的“退出游戏”按钮,即可结束游戏。 1.2本系统涉及的知识点: 循环,javaGUI组件,函数,数组,分支等 2.功能设计 2.1算法设计 本系统需要实现的功能要求: 图一,数字按钮功能模块 图二,三个功能按钮模块

Java万年历课程设计报告

杭州师范大学钱江学院课程设计 题目万年历 学院钱江学院 专业信电分院计算机科学与技术 班级计算机1101 姓名崔伊平 指导教师王李冬 2013 年9 月20 日

目录 一.概述 (1) 二.总体方案设计 (2) 三.详细设计 (3) 四.最终输出 (7) 五.课程设计总结 (8) 参考文献 (9)

一、概述 1.课程设计的目的 通过显示年日历程序的设计,培养学生综合利用java语言进行程序设计的能力,加强函数的运用及学生对软件工程方法的初步认识,提高软件系统分析能力和程序文档建立、归纳总结的能力。 通过本项课程设计,可以培养独立思考、综合运用所学有关相应知识的能力,能更好的巩固《java语言程序设计》课程学习的内容,掌握工程软件设计的基本方法,强化上机动手编程能力,闯过理论与实践相结合的难关!更加了解了java语言的好处和其可用性! 2.课程设计的要求 2.1 输入查询的年份与月份,单击“更新”按扭,则可得到相应的日历。本实验是对图形用户界面,布局管理器的综合运用。要掌握APPLET容器中添加组件的方法,理解JAVA 的事件处理机制,编写独立的运行窗口。 2.2 输出形式 使用独立的运行窗口进行显示。界面主要由两部分组成——查询输入部分和结果显示部分。查询输入部分包括两个文本域,一个用于输入年份:一个用于选择月份:一个更新按扭,用来触发查询事件。

二总体方案设计 1.程序开发环境 a.开发环境:eclipse b.系统环境:windows xp/7 c.设计工具:Microsoft office 2003 2.整体流程图 图1 流程图 3.功能模块图

Java英汉电子字典课程设计源代码

用户需求分析: 英汉词典作为一个常用的学习工具,是我们经常要使用的。该系统能完成一个简单的电子词的功能。该系统主要用于实现英汉互译的功能,系统拥有自己的数据库。 1.英译汉功能:我们可以先选择让系统进行英译汉功能,然后在查找框中输入想要查询的英文单词,系统将自动在数据库中查找匹配记录并给出相对应的汉语意思。 2.汉译英功能:我们可以在系统中选择汉译英功能,然后在查找框中输入想要查询的汉语意思,系统将自动在数据库中查找匹配记录并给出相对应的英文单词 3.词汇的添加功能:用户可以添加词库没有的单词及其解释。添加成功后该单词将在次库保存,以便下次查询。 4.词汇的修改功能;用户可以实现对词库中已有单词及其解释的修改。修改后的结果将保存在词库中。 5.词汇的删除功能;用户可自行删除词库中已有的单词,同时次单词的解释也将被一同删除。 6.其他功能:此外,系统还具有帮助和关于等功能,用来辅助用户更方便简洁的使用电子词典。 package dianzicidian; import java.awt.*; import https://www.360docs.net/doc/7f14974002.html,.*; import java.sql.*; import java.awt.event.*; import javax.swing.JOptionPane; import java.io.*; import sun.audio.*; class dzcd extends Frame implements ActionListener { MenuBar menubar=new MenuBar();//菜单 Menu fileMenu,editMenu,helpMenu; MenuItem fileenglish,filechinese,exit,editAdd,editmod,editDel; TextField inputtext; TextArea txt; Label label1,label2; Button btn1,btnsound; Panel p,p1,p2,p3; dzcd() { super("电子词典"); setBounds(200,300,350,400); setMenuBar(menubar);

Java课程设计报告书

华东交通大学理工学院课程设计报告书( 2010-- 2011年度第 2 学期) 所属课程名称 Java面向对象程序设计题目设计一个多功能计算器分院电信分院 专业班级 09信管<1>班 学号 20090210450106 蔡炜指导教师黄建华 2011年06月23日

华东交通大学理工学院 课程设计(论文)任务书专业09信管班级 <1>班姓名蔡炜 一、课程设计(论文)题目设计一个多功能计算器 二、课程设计(论文)工作:自 2011 年06 月 13日起至2011年 06 月 23日止。 三、课程设计(论文)的内容要求: 本应用程序继承自框架类(JFrame),此程序使用Frame布局管理器BorderLayout,将单行文本框加入到“North”区域,包含各种按钮的面板Panel p加入到”Center”区域。包含各种按钮的面板Panel p 采用4行5列的网格布局,然后将数字按钮和运算符按钮以及控制按钮添加到面板中。同时注册按钮事件监听器。如:Button b=new Button(); b.addActionListener(事件监听器); 事件监听器中的事件处理方法void actionPerformed(ActionEvent evt)完成主要的按钮事件的处理。事件处理分以下几种情况:数字按钮事件(”0”,”1”,”2”…”8”,”9”)、运算符按钮事件(”+”,”-“,”*”,”/”,”%”)、正负号按钮事件(”+/-“)、小数点按钮事件(”.”)、等号按钮事件(”=”)、求倒按钮事件(”1/x”)、清零按钮事件(“C”)。

在事件处理触发按钮事件时,要进一步分析,是重新开始计算时触发的按钮事件还是计算中间触发的按钮事件。 计算器完成的是一个数学表达式,如:3+2,所以可以采用一个链表(LinkedList类)来存储数字或字符,如3,+,2分别存储在链表中,最后运算时,可以一一取出来进行运算。 学生签名: ( ) 2011 年06 月 23 日 课程设计(论文)评阅意见 评阅人职称 20 年月日

Java课程设计说明书要点

1 需求分析 随着21世纪信息化的到来,计算机的应用日益广泛,计算机在代替体力、脑力劳动方面发挥着不可或缺的作用,在工业方面及日常工作中也越来越离不开它。在企业里,要处理大量的数据信息,为了提高员工管理的工作效率,降低操作出错的概率,因而开发出一套员工信息管理系统是很有必要的。员工信息管理系统,可实现了公司员工信息管理系统的电子化,减轻管理人员的工作负担,能够规范、高效地管理大量的劳动人事信息,减小管理成本,提高工作效率,避免人为操作错误和不规范行为。 该软件实现了员工对个人工资的查询以及管理人员对员工信息进行动态管理的功能,例如基本信息的查询,修改,添加,删除;员工工资的查询,修改,添加,删除等。 2 具体功能 (1)新员工注册功能。 (2)员工登陆功能。 (3)员工查看个人工资功能。 (4)管理人员登录功能。 (5)管理人员对员工基本资料的修改,添加,删除,查询功能。 (6)管理人员对员工工资信息的修改,添加,删除,查询功能。 3 系统设计 3.1、功能示意图

系统功能如图3-1所示: 图3-1系统功能图 3.2、数据库设计 本软件数据库类型为MYSQL ,数据库“employee.mdb ”,其中共包含三种表,其一是 登录用户信息表 user (如表3-1),其二是员工基本信息表emps (如表3-2),其三是员工工资信息表salary (如表3-3)。对应的数据库截图分别为:登录用户信息表users 截图(如图3-2),员工基本信息表emps 截图(如图3-3),员工工资信息表salary 截图(如图3-4)。 员工 管理员 个人工资显示 showSalaryFrm.java 登陆界面 loginFrm.java 主界面mainFrm.java 员 工 基 本 信 息 的 删 除 工 资 信 息 的 查 询 工 资 信 息 的 修 改 工 资 信 息 的 删 除 工 资 信 息 的 添 加 员 工 基 本 信 息 的 添 加 员 工 基 本 信 息 的 查 询 员 工 基 本 信 息 的 修 改 版 本 信 息

JAVA课程设计题信息B131112目及要求

Java课程设计题目及要求 一、课程设计总体要求: 本次课程设计是对前面学过的所有面向对象的编程思想以及编程方法的一个总结、回顾和实践,学生确定设计题目后,要明确本次课程设计所要用到的技术点,回顾之前学习的这些知识点,或者到网上搜索以及查阅相关的书籍来搜集资料。通过编写一个基于JAVA的应用系统综合实例,来掌握Java语言编程技巧。 二、参考题目及要求:(从中选择一个题目) 1.编写一个记事本程序 要求: 用图形用户界面实现。 能实现编辑、保存、另存为、查找替换等功能。 提示:使用文件输入输出流。 2.编写一个计算器程序 要求: 界面模拟Windows中的计算器程序。 实现基本数学运算、函数等功能:加、减、乘、除、阶乘、指数运算。 实现要点:添加相关组件并进行按钮事件处理和键盘事件处理。 3.学生信息管理系统 要求: 使用图形用户界面 用数据库建立1或2个学生信息表。(不限使用哪种数据库) 能连接数据库并实现查询、增、删、改等功能。 4、图书信息管理系统 要求: 使用图形用户界面 用数据库建立1或2个图书信息表。(不限使用哪种数据库) 能连接数据库并实现查询、增、删、改等功能。 5.ATM柜员机模拟程序 要求:使用图形用户界面。当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行: (1)查询余额:初始余额为10000元 (2)ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。 (3)ATM存款:不能出现负存款。

(4)修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。 6.超市收银系统 要求:使用图形用户界面。 由收银员输入顾客的会员卡卡号(若有卡)、所购商品的货号等。从数据库中取出有关价格信息,再把这些信息返回给收银台。同时把该收银台的销售总量和有关种类商品的剩余量以及该持卡顾客的消费情况交数据库存储以供查询。 另外,对没有卡的消费情况不记录该顾客的消费情况等个人信息。如果一个未持卡顾客一次购物满200元,可为其发放一张会员卡,以后在该商场购物可向9折优惠。 7.对对碰游戏 功能要求:该程序显示GUI用户界面,界面中随机安排10对图片,背面向上,当翻开的2张图片相同时就消失,不相同时重新翻回背面,最终显示用时和分数(=400-翻的次数)。 界面要示:图形界面实现。 8.绘图板 功能要求:实现简单绘图功能,具体要求:画直线,画空心或实心椭圆、画空心或实心矩形、画多边形(图形的位置和大小也可在界面中设定)。

Java课程设计实验报告及全部源码流程图

课程设计 一、实验目的 1.加深对课堂讲授内容的理解,掌握解决实际应用问题时所应具有的查阅资料、技术标准和规范,以及软件编程、调试等能力,掌握面向对象的编程思想及Java语言程序设计的规律与技巧,为进一步学习web应用开发及今后从事专业工作打下基础。 2. 使用本学期学习的Java SE技术(也可以使用课堂教学中没有学习过的Java技术,但是应当以Java SE技术为主)完成多功能日历GUI程序的设计,使之具有如下基本功能:一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。 3.在完成基本功能的基础上发挥自己的想象力与创造力,使程序凸显出与众不同的特点与功能,形成本小组的特性色。 二、实验要求 1.问题描述准确、规范。 2.程序结构合理,调试数据准确、有代表性.。 3.界面布局整齐,人机交互方便。 4.输出结果正确。 5.正确撰写实验报告。 三、实验内容 编写一个GUI程序实现日历的功能。一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期以及当前农历,可以为每页日历选择背景图片。可以实现显示时钟,时钟能进行整点报

时。可以实现备忘记事功能,能在每天添加、修改、删除记事等操作。 四、实验步骤 1.在上机实验前,小组成员进行选题讨论,确定小组感兴趣而又伸缩性强的题目多功能日历。 2.在第一次上机实验时讨论分工,分工明确之后,分头合作进行。 3.各成员完成自己的任务后,最后进行统筹合并,以及程序最后的优化。 4. 根据实验结果,写出合肥工业大学实验报告。实验报告应当包括:实验内容,程序流程图,类结构,程序清单,运行结果,以及通过上机取得的经验。 5.详细的上机实验步骤见任务分工及程序设计进度表。 五、实验结果 经过小组成员的共同努力,最终我们小组设计的多功能日历程序能够实现实验的基本要求——一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。另外,在完成基本要求的基础上,我们增添了显示农历、显示时钟、添加备忘录、修改备忘录等功能。整体程序运行流畅、功能齐全、符合操作习惯。 下面是程序运行效果截图: 日历主界面(可以实现每个月的日历,可以按年或按月前后翻动,能够显示当前日期,并能够选择背景图片):

相关文档
最新文档