XX学院
JAVA语言程序实训
报告
软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载
专业: 信息管理与信息系统
班级:
姓名:
学号:
指导老师:
前 言
面向对象程序设计是软件编程技术中的一项非常关键的技术。面向对象程序设计中的继承,封装,多态等很接近于人的语言和思维,更容易让人理解和使用。并且,面向对象程序设计更加符合现代软件大规模开发的需求,有利于软件使用。
Java的诞生是对传统计算机模式的挑战,对计算机软件开发和软件产业都产生了深远的影响,Java语言是面向对象程序设计语言中的代表,发展迅速。随着Internet的飞速发展,Web的广泛应用,而Java语言在Web应用方面所表现出来的强大特征,使得Java语言成为Web开发的主流技术。
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE, JavaME, JavaSE)的总称。Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
本次实训是配合Java程序设计课程,帮助我们深入学习掌握Java语言,熟练运用这个工具来编写的。通过课程设计各个项目的综合训练,不仅培养学生实际分析问题、编程和动手能力,而且还提高了学生的综合素质。
如今,我们所面临的问题有:不能全面系统的、深入的掌握某种技术,也就是会的挺多,但都是皮毛,不能满足就业的需要,没有任何实际的开发经验,完全是想象中学习,考试还行,一到实际开发和应用就歇菜了。解决的方法就是通过实训和练习,对所学知识进行深化,然后通过项目来获取实际开发的经验,从而弥补这些不足。我们应该明白软件是做出来的,而不是听出来或者看出来的,企业需要能实际开发的人员,而不是只听过、看过但不能做的人。所以Java非常强调:项目一定要让学生动手写出来。
希望同学们在老师的带领下,能够将理论与实践联系起来,把我们课本上所学到的知识运用到实践中,在实践中检验真知。
2014年6月10日
目 录
一.实训目的 - 1 -
二.功能分析 - 1 -
三.系统设计 - 2 -
四.测试数据及运行结果 - 2 -
五.主要源程序 - 4 -
六.实训总结与心得体会 - 6 -
一.实训目的
1.掌握Java语言的面向对象特征,包括Java语言中类、对象、继承、多态、接口和内部类,图形绘制等重要概念及应用实践。
2.掌握Java语言编程基础,包括数据类型、变量、运算符、字符串、数组、控制结构、访问权限修饰符,基本数据类型的转换,类的定义,对象的创建,通过类的对象调用类中的方法等
内容
财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容
。
3.掌握如何使用Java语言编写图形用户界面,利用Java丰富的图形组件创建交互性较好的用户界面。
掌握面对不同的事件处理进行不同事务处理,及每种事务处理的过程。
4.掌握如何使用不同的布局管理器,方便地设计出各种控件组织方式的界面。
掌握如何创建图形的界面,如何进行图形的绘制,怎样对图像进行处理。
5.进一步了解java开发的相关知识,掌握java开发的基本技术,丰富java开发的实战 经验。学习有用的相关技术,提高自己的学习效率和工作效率。
6.巩固Java课程所学基本知识,提高分析、判断和处理实际问题的能力,锻炼自己的实际动手能力,增强自己的团队协作意识,了解软件开发的思考角度和主要
流程
快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计
。为毕业之后能够更快地进入工作状态并且能够更好的工作,打好一定的基础。
7.经过这个学期的学习后,能不能把学习的知识综合串联起来,java的实训项目的制作可以有效的检验这一点。进行综合项目实训可以练习java软件开发的环境和配置,能够把java的面向对象技术、数据结构、图形界面、小应用程序等知识运用到实践中去,从而更好地理解java的各项知识,达到能够应用自如的地步。进行实训的同时还需要查阅大量的文档,可以锻炼同学的自学能力。
二.功能分析
该黑白棋游戏主要可以实现黑白棋的对弈,要求有黑白两色棋子,保存所有已下的棋子,包括在棋盘上的所有棋子和被踢掉的棋子,若落子没有造成踢子,包括所有被这个棋子踢掉的棋子及这个棋子本身。如果踢子,则保存所有被踢的棋子,在游戏的过程中也可以显示对战双方的当前的棋子个数,提醒对战双方的时限。同时,该游戏还具有悔棋的功能。
三.系统设计
1.棋盘界面设计:基于Panel类定义一个面板子类,在其中利用Graphics类的drawLine()方法绘制棋盘格线,利用fillOval()方法绘制棋盘四角的星位。为面板创建监听器,为一个按钮注册ActionEvent事件监听器,实现单击鼠标布子、单机一个重新开局等操作。
2.棋盘功能设计:控制面板类,包含标签、手数、悔棋按钮、重新开始按钮。
3.棋盘界面的实现方法:通过Chesspoint类获得实际棋子的位置。
3.棋盘功能的实现方法:利用JFrame将棋子显示出来,Chess对围棋界面外观进行初始化之后即可创建围棋对象。
四.测试数据及运行结果
1.围棋图形用户界面,如图5.1所示:
图5.1 用户界面
2.黑白棋对弈,如图5.2所示:
a.界面左边的对话框提示轮的白子或黑子:
b.界面左边的对话框提示下棋进展:
c.界面左边的对话框提示“重新开始”功能:
d.界面左边的对话框提示“悔棋”功能:
图5.2 运行界面
e.界面左边的对话框提示可选择棋盘大小功能,如图5.3所示:
图5.3 棋盘大小选择界面
五.主要源程序
1.Chess类是此程序的主类之一,用来初始化棋盘的外观:
import java.awt.*;
import javax.swing.JFrame;
public class Chess extends JFrame {
Chessboard qipan = new Chessboard();;
// 初始化外观
public Chess() {
this.setTitle("围棋程序");
this.setLayout(new BorderLayout());
this.setSize(qipan.getSize());
this.add(qipan, "Center");
this.setResizable(false);
this.setLayout(new BorderLayout());
this.setSize(550, 490);
this.setVisible(true);
}
// 得到宽数值
public int getWidth() {
return qipan.getWidth();
}
public int getHeight() {
return qipan.getHeight();
}
public static void main(String[] args) {
//开始下棋程序
Chess Igo = new Chess();
}
}
2.Chessboard类用来定义围棋程序所需的变量,围棋程序所要完成的方法,如绘制棋盘外观,画出棋盘格子,更新棋盘,重新开始游戏,悔棋。
public class Chessboard extends JPanel { // 默认的棋盘方格长度及数目
public static final int _gridLen = 22, _gridNum = 19;
/** 利用Vector保存所有已下的棋子,包括在棋盘上的所有棋子和被踢掉的,若某一次
* 落子没有造成踢子,包括所有被这个棋子提掉的棋子及这个棋子本身,Vector最后*/
private Vector chessman;
private int alreadyNum; // 已下数目
private int currentTurn; // 轮到谁下
private int gridNum, gridLen; // 方格长度及数目
private int chessmanLength; // 棋子的直径
private Chesspoint[][] map; // 在棋盘上的所有棋子
private Image offscreen;
private Graphics offg;
private int size; // 棋盘的宽度及高度
private int top = 20, left = 20; // 棋盘左边及上边的边距
private Point mouseLoc; // 鼠标的位置,即map数组中的下标
private ControlPanel controlPanel; // 控制面板
//获得控制板的距离
public int getWidth() {
return size + controlPanel.getWidth() + 35;}
public int getHeight() {
return size;}
//绘制棋盘外观
public Chessboard() {…}
public void addNotify() {
super.addNotify();
offscreen = createImage(size, size);
offg = offscreen.getGraphics();
}
……
}
3.Chesspoint类用来通过x和y取得黑白棋子的位置:
public class Chesspoint
{
public static int black=0,white=1;
int x,y;
int color;
public Chesspoint(int i,int j,int c)
{
x=i;
y=j;
color=c;
}
public String toString()
{
String c=(color==black?"black":"white");
return "["+x+","+y+"]:"+c;
}
六.实训总结与心得体会
通过这次的实训,我学到了很多:首先,对JAVA识比以前有了更深的了解。在这之前由于种种原因我JAVA学的很不太好。但经过这次的实训,我对JAVA的理解,虽然还有很多都不懂,但我会在今后的实训和学习中加以学习了解,力求弄懂,增强自己对JAVA的理解。其次,在这次的实训中我的动手操作能力有了一点的提高,刚开始的时候JDK的配置,JAVA开发工具的不熟悉,所以开始的时候进程很慢,但付出定有回报,成功的配置了JDK,熟悉了JAVA开发工具,总的说来,自己还是有一定的收获的。因为自己的动手操纵能力得到了提高。最后是团队协作。在整个题目完成过程中团队协作有着不可替代的作用。从我刚拿到题目时,我进行了分析,并做出了合理计划。当我遇到问题的时候,我与同学们相互沟通,互相学习,效率提升了很多。