设计论文.docx
- 文档编号:9066206
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:24
- 大小:104.32KB
设计论文.docx
《设计论文.docx》由会员分享,可在线阅读,更多相关《设计论文.docx(24页珍藏版)》请在冰点文库上搜索。
设计论文
前言
Java技术是当今最流行最实用的计算机技术,是二十世纪九十年代的计算机技术的重大发明。
Java语言是一种纯粹面向对象的高级编程语言,是因特网上的世界语;当前Java应用形势一片大好,是整个企业系统的宠儿;掌握Java技术是每一个关心和立志从事IT事业的人的内功,也是当前市场的迫切需要,更是振兴中华软件的绝好机会。
Java是现在全球最时髦的开发工具之一,它拥有一套庞大且完善的类库,内置了其他语言需要靠库甚至是操作系统才能支持的功能,拥有一个虚拟机。
Java语言的出现迎合了人们对应用程序跨平台运行的需求,已成为软件设计开发者应当掌握的一门基础语言,很多新的技术领域都涉及到了Java语言。
为了巩固学习的面向对象程序设计语言的知识,通过编写Java的应用系统综合实例,总结、回顾和实践面向对象的编程思想以及编程方法,并通过编写程序来掌握Java语言编程技巧。
将学习到的知识融会贯通,同时提高调试程序的能力,养成良好的编程习惯,并增强对程序设计整体思路的把握。
总之,Java的出现确实给整个程序界带来了巨大的冲击,也许现在还无法准确评估Java为整个IT业带来的影响。
但是,有一点却毋庸置疑---Java将不可避免地影响一代程序员。
Java是面积网络的设计语言,用来让程序员创建应用程序,这些应用程序可以通过下载,而且可在任何计算平台上安全地运行。
如果再加上互联网和公司企业内部网体系,你将会拥有一个未准的网络计算环境。
Java作为一个分布式的,面向对象的程序设计各方,可以让位于任何地方的任何计算机应用网络上的的应用程序。
综合上述,Java的生命力体现在如下方面:
①Java产生与流行是InterNet发展的客观要求;
②是一门各方面性能都很好的编程语言,它的基本特点是简单,面向对象,分布式,解释的,健壮的,完全的,结构中立的,可移植的,性能很优异的,多线程的,动态的,适合的Internet环境上开发应用系统;
③Java可以制作大部分网络应用程序系统,而且与如今流行的WWW浏览器结合很好;
④Java不仅仅是一种各方,更重要的是一种区别于传统系统,遵守"网络就是计算机"信条的平台技术。
Java平台将面向对象系统扩展成包括程序和数据的网络计算机(NC),而这个平台的核心就是Java虚拟机,许多使Java成为万能开发平台的属性都源于Java虚拟机的概念和实现。
Java语言是一种功能强大的编程语言,分为J2SE、J2ME、J2EE几个版本,作为初学者,我们先学习J2SE,在此基础上我们做了一个关于酒店管理的系统。
工程概况
2.1MyEclipse平台介绍与项目所用的时间
MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。
它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。
在结构上,MyEclipse的特征可以被分为7类:
1.JavaEE模型;
2.WEB开发工具;
3.EJB开发工具;
4.应用程序服务器的连接器;
5.JavaEE项目部署服务;
6.数据库服务;
7.MyEclipse整合帮助。
对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。
MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。
简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错。
该程序基于JDK和MyEclipse编写,选用MyEclipse是界面设计所需。
根据系统范围随机产生一个数字,可根据玩家选择给出不同的数字。
玩家输入所猜数字时给出与真实数字的大小比较。
在玩家猜中时,可给出其所用时间,并给出评价。
最后,游戏的结束与继续可由玩家控制。
从这个项目开始到结束总共历时5天。
完成于2013年6月21日。
⒉2项目负责人
伊娜·库古完那提计算机科学与技术18-1班5011113127
2.3项目指导人
吴刚,信息工程学院教师,讲师
正文
3.1引言
3.1.1设计任务与要求
设计任务:
根据所选课题“猜数字游戏”,完成课程设计的分析、设计和编码,并用字符界面或图形界面实现。
而且根据所选题目,写出课程设计报告。
(1)掌握Java的语言规范,面向对象的核心概念和特性;
(2)掌握Java的编程技术,包括异常处理,图形界面设计,多线程,网络通信程序等;
(3)掌握Java应用软件的开发环境和开发过程;
(4)掌握面向对象的思想和程序设计方法。
设计要求:
设计一个猜数字游戏程序,该游戏可以由程序随机产生整数,玩游戏者通过由用户输入数字来匹配上面所产生的数字。
用户随机输入数字,当与计算机产生的随机数相符合时,计算机将提醒用户,游戏成功的信息。
当有偏差时,将会提醒偏差,如偏大或者是偏小。
而且了解,熟悉java语言和java中的常用类,掌握java程序设计的简易步骤和方法,知道类和对象的关系;利用java语言编写猜数字游戏对战系统,并且此程序能够执行和运用于实践生活中;最后要求界面友好、整齐美观;独立思考;有创新之处。
3.1.2设计目的与意义
设计目的:
1通过选择猜数字游戏这个题目,可以让我掌握Java中的包和类,并且可以灵活的使用myeclipse软件。
②而且通过课程设计能提高我们对所学知识的综合应用能力,能全面检查并掌握所学内容;
③根据课堂讲授内容,学生在实践中做相应的自主练习,消化课堂所讲解的内容;
④通过综合训练,能够培养学生实际分析问题、解决问题、编程和动手操作等多方面的能力;
⑤最终目的是帮助学生掌握该门课程的基本内容,并运用java知识去解决一些实际问题;
⑥通过课程设计能提高我们对所学知识的综合应用能力,能全面检查并掌握所学内容;
⑦要加强对计算机方面能力的培养,要学会综合运用所学的知识和技术,要学会分析、解释学习和课程设计中遇到的实际问题;
⑧要拓展我们的知识面,练习和掌握新而实用的开发技术,为以后的毕业设计做好技术准备。
设计意义:
我们刚刚学过的java课程对我们民族生来说确实是很难,但是通过几次的复习和本次的课程设计,我们对这门课程的了解比以前深多了,同时更加深入的了解字符界面的编程过程。
使我更熟练的掌握Java程序框架的搭建和类的创建格式。
在分析阶段,要进行面向对象的需求分析、系统设计、画出相应的需求分析图、系统设计模型图,这些工作更能锻炼我的逻辑思维,更能培养我思考的全面性。
让我学会了多角度思考问题,对我以后的编程奠定了更好的基础。
因为,Java是一种简单的,跨平台的,面向对象的,分布式的,解释的,健壮的安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言。
当1995年SUN推出Java语言之后,全世界的目光都被这个神奇的语言所吸引。
我们是计算机科学与技术专业的本科生,java编程语言是我们重要的必修课程。
当代社会学要大学培养出理论扎实,动手实践能力强的大学生。
为了巩固学习的面向对象程序设计语言的知识,通过编写Java的应用系统综合实例,总结、回顾和实践面向对象的编程思想以及编程方法,并通过编写程序来掌握Java语言编程技巧,将学习到的知识融会贯通,同时提高调试程序的能力,养成良好的编程习惯,并增强对程序设计整体思路的把握。
3.2需求分析
3.2.1用户需求分析
小明看了电视上的价格竞猜节目后想自己创建一个类似的模拟软件练习,于是要求做一个程序实现以下功能:
1使用者可自行输入一个1~10之间的正整数;
例如:
1、3、5、7…
2计算机在程序运行后随机生成一个1~10之间的正整数;
3比较上述二者大小,并从游戏开始时开始计时。
若使用者所选数大于机器随机值,则提示“高了!
”;反之提示“低了!
”;直到二者相等时停止计时并根据使用时间的长短给出相应评语。
例如:
用户输入值为5,机器随机值为10,则输出“低了!
”。
若用户输入值为15,则输出“高了!
”;直到二者同时为10时,停止计时并输出之前总共所用次数及时间(即评语)。
3.2.2开发环境分析
本程序使用WINDOWS环境下的Myeclipse8.6软件开发。
MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。
3.3系统设计
3.3.1系统总体设计
该软件功能分析说明图如图3.3.1-1所示:
图3.3.1-1功能分析说明
3.3.2功能模块设计
①输入输出模块
进入游戏系统后,提示输入数值;在游戏结束阶段输出游戏所用时间、评语等信息。
2数值比较模块
图3.3.2-1数值比较模块
3计时模块
图3.3.2-2计时模块
3.3.3类的设计
类的设计如图3.3.3-1所示:
类名
Cshuyouxi
猜数游戏
属性
times
统计次数,系统根据您猜数字的次数,自动计数并显示剩余次数。
StartTime
获取开始时间
RealNumber
电脑给出的数字,随即生成数
YourGuess
您猜的数字,机器输入的数字
EndTime
获取结束时间,程序运行结束时的计时
Random
系统产生随机生成数
BufferedReader
字符输入流,缓冲各个字符,从而实现字符数组和行的高效读取
方法
Main(String[])
创建猜数游戏构造方法
guess
实现猜数游戏方法
图3.3.3-1类的设计
3.4程序实现
3.4.1程序流程图
程序流程图如图3.4.1-1所示:
图3.4.1-1程序流程图
3.4.2关键算法与技术实现
游戏随即给出一个0-10(不包括0和10)的数字,然后让你猜是什么数字。
你可以随便猜一个数字,游戏会提示太大还是太小,从而缩小结果范围。
经过几次猜测与提示后,最终退出答案。
在游戏过程中。
记录你最终猜对时所需要的次数。
游戏结束后公布结果。
3.5测试运行
importjava.awt.Color;
importjava.awt.Container;
importjava.awt.FlowLayout;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjavax.swing.Box;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JOptionPane;
importjavax.swing.JTextField;
classWindowButtonextendsJFrameimplementsActionListener{
/**
*
*/
privatestaticfinallongserialVersionUID=1L;
intnumber;
JTextFieldinputNumber;
JLabelfeedBack;
JButtonbuttonGetNumber,buttonEnter;
WindowButton(Strings){
super("猜数字小游戏");
buttonGetNumber=newJButton("得到一个随机数");
feedBack=newJLabel("无反馈信息",JLabel.CENTER);
feedBack.setBackground(Color.green);
inputNumber=newJTextField("0",5);
buttonEnter=newJButton("确定");
buttonEnter.addActionListener(this);
buttonGetNumber.addActionListener(this);
buttonGetNumber.addActionListener(this);
BoxboxH1=Box.createHorizontalBox();
boxH1.add(newJLabel("获取1-100之间的随机数:
"));
boxH1.add(buttonGetNumber);
BoxboxH2=Box.createHorizontalBox();
boxH2.add(newJLabel("输入您的猜测:
"));
boxH2.add(inputNumber);
BoxboxH3=Box.createHorizontalBox();
boxH3.add(newJLabel("单击确定按钮:
"));
boxH3.add(buttonEnter);
BoxboxH4=Box.createHorizontalBox();
boxH4.add(newJLabel("反馈信息:
"));
boxH4.add(feedBack);
BoxbaseBox=Box.createVerticalBox();
baseBox.add(boxH1);
baseBox.add(boxH2);
baseBox.add(boxH3);
baseBox.add(boxH4);
Containercon=getContentPane();
con.setLayout(newFlowLayout());
con.add(baseBox);
con.validate();
setBounds(120,125,279,200);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100,100,150,150);
setVisible(true);
validate();
}
publicvoidactionPerformed(ActionEvente){
if(e.getSource()==buttonGetNumber){
number=(int)(Math.random()*100)+1;
}
elseif(e.getSource()==buttonEnter){
intguess=0;
try{
guess=Integer.parseInt(inputNumber.getText());
if(guess==number){
JOptionPane.showMessageDialog(this,"猜对了");
}
elseif(guess>number){
JOptionPane.showMessageDialog(this,"猜大了");
inputNumber.setText(null);
}
elseif(guess JOptionPane.showMessageDialog(this,"猜小了"); inputNumber.setText(null); } }Exceptionevent){ JOptionPane.showMessageDialog(this,"请输入数字字符"); } catch(NumberFormat } } } publicclass猜数字游戏{ publicstaticvoidmain(Stringargs[]){ newWindowButton("猜数字小游戏"); } } 3.5.1系统测试方案 本次设计采用WINDOWS环境下的MyEclipse,MyEclipse包括了完备的编码、调试、测试和发布功能,极大的提高了工作效率。 (1)运行程序检测程序是否可以运行,程序运行成功: importjava.awt.Color; importjava.awt.Container; importjava.awt.FlowLayout; importjava.awt.event.ActionEvent; importjava.awt.event.ActionListener; importjavax.swing.Box; importjavax.swing.JButton; importjavax.swing.JFrame; importjavax.swing.JLabel; importjavax.swing.JOptionPane; importjavax.swing.JTextField; classWindowButtonextendsJFrameimplementsActionListener{ /** * */ privatestaticfinallongserialVersionUID=1L; intnumber; JTextFieldinputNumber; JLabelfeedBack; JButtonbuttonGetNumber,buttonEnter; WindowButton(Strings){ super("猜数字小游戏"); buttonGetNumber=newJButton("得到一个随机数"); feedBack=newJLabel("无反馈信息",JLabel.CENTER); feedBack.setBackground(Color.green); inputNumber=newJTextField("0",5); buttonEnter=newJButton("确定"); buttonEnter.addActionListener(this); buttonGetNumber.addActionListener(this); buttonGetNumber.addActionListener(this); BoxboxH1=Box.createHorizontalBox(); boxH1.add(newJLabel("获取1-100之间的随机数: ")); boxH1.add(buttonGetNumber); BoxboxH2=Box.createHorizontalBox(); boxH2.add(newJLabel("输入您的猜测: ")); boxH2.add(inputNumber); BoxboxH3=Box.createHorizontalBox(); boxH3.add(newJLabel("单击确定按钮: ")); boxH3.add(buttonEnter); BoxboxH4=Box.createHorizontalBox(); boxH4.add(newJLabel("反馈信息: ")); boxH4.add(feedBack); BoxbaseBox=Box.createVerticalBox(); baseBox.add(boxH1); baseBox.add(boxH2); baseBox.add(boxH3); baseBox.add(boxH4); Containercon=getContentPane(); con.setLayout(newFlowLayout()); con.add(baseBox); con.validate(); setBounds(120,125,279,200); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100,100,150,150); setVisible(true); validate(); } publicvoidactionPerformed(ActionEvente){ if(e.getSource()==buttonGetNumber){ number=(int)(Math.random()*100)+1; } elseif(e.getSource()==buttonEnter){ intguess=0; try{ guess=Integer.parseInt(inputNumber.getText()); if(guess==number){ JOptionPane.showMessageDialog(this,"猜对了"); } elseif(guess>number){ JOptionPane.showMessageDialog(this,"猜大了"); inputNumber.setText(null); } elseif(guess JOptionPane.showMessageDialog(this,"猜小了"); inputNumber.setText(null); } } catch(NumberFormatExceptionevent){ JOptionPane.showMessageDialog(this,"请输入数字字符"); } } } } publicclass猜数字游戏{ publicstaticvoidmain(Stringargs[]){ newWindowButton("猜数字小游戏"); } } 图3.5.1-1程序运行成功 (2)游戏结束,程序对运行时间进行统计并进行那个显示: 图3.5.1-2时间统计 3.5.2运行结果分析 (1)进入游戏字符界面 图3.5.1-3进入游戏 (2)输入非数字后运行结果 图3.5.1-4非数字运行结果 ⑶输入的数字不在1-10之间 图3.5.1-5数字大于10运行结果 ⑷数字小于0运行结果 图3.5.1-6数字小于0运行结果 (5)输入的数字偏大或输入的数字偏小: 输入的数字偏大 输入的数字偏小 图3.5.1-7数字大于或小于随机生成数运行结果 计算机输入的数字大与系统给出的数字,系统提示输入数字偏大,计算机输入
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 设计 论文