ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:312.63KB ,
资源ID:8487837      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8487837.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(java课设.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

java课设.docx

1、java课设 猜数游戏1.课程设计的目的 通过课程设计把课堂上讲的内容融会贯通,学会设计程序、开发应用软件等工作。经过实习掌握语言的语法结构,理解类和对象的概念,准确的使用各种数据类型,对面向对象中的继承和多态的概念会使用,在程序中提高代码的重用性,使设计的程序结构清晰、易于维护。本设计将一个猜数字游戏作为研究对象。设计出一个由系统随机选出一个1-100的数字不显示出来,由玩家猜这个数字,直到猜中为止,并显示出玩家猜中数字所用时间和次数对玩家做出评判,并对所涉及的相关技术进行初步的探讨。2.设计方案论证2.1设计思路设计一个猜数字游戏程序,该游戏可以由程序随机产生整数,玩游戏者通过由用户输入数

2、字来匹配上面所产生的数字。用户随机输入数字,当与计算机产生的随机数相符合时,计算机将提醒用户,游戏成功的信息,当有偏差时,将会提醒偏差,如偏大或者是偏小。设计一个猜数字游戏程序,其具有如下特性: (1)趣味性 要求游戏内容丰富多彩,语言风趣幽默。 (2)大众性 要求游戏界面操作简单,游戏规则简单易懂。 (3)合理性 游戏设计严谨,有条理,具体需求如下: 游戏开始时,自动显示游戏规则,系统自动记录并显示您猜数字的时间。 每猜测一次,系统会记录下来,游戏结束后,显示共猜测多少次。 在游戏结束时,可以选择关闭游戏,或者再来一局。2.2设计方法 2.2.1系统总体设计 猜数字游戏游戏随机给出一个110

3、0(包括1和100)之间的数字,然后让你猜是什么数字。你可以随便猜一个数字,游戏会提示太大还是太小,从而缩小结果范围。经过几次猜测与提示后,最终推出答案。(如图1) 图1系统设计结构图 2.2.2游戏界面 采用图形界面显示。页面有如下功能:开始,结束,重来。游戏开始后,由计算机产生一个1-100的随机数,不显示在图形界面,但显示在字符界面。用户只需输入所猜想的数字,打印在输入框内,按“确定”按钮表示确定,游戏返回提示语句,按照提示语句操作,直至游戏结束。同时,计算机开始对游戏进行计时和计数功能。游戏过程中,如果不想继续玩了,可以直接退出,想重新开局,按“重新开始”按钮即可。想控制界面大小只需拖

4、拽图形界面边框即可。游戏结束后,可以选择“关闭”游戏,或者是“重新开始”。功能模块设计(如图2) 图2功能模块图 2.2.3随机数的获取功能描述:玩家输入一个数字,数字的范围在1-100之间,系统获取随机数。 2.2.4输入输出模块功能描述:对玩家输入的数字进行判断和提示。如果玩家输入的不是系统要求的数字,系统将提示您,您输入的不是数字请重新输入.。如果玩家输入的数字与随机生成数相比较,比随机生成数小.系统提示您,数字太小请您重新输入。如果玩家输入的数字与随机生成数相比较,比随机生成数大.系统提示您,数字太大请您重新输入。(如图3) 图3输入输出模块图 2.2.5判断模块功能描述:算出所用时间

5、在玩家猜中时给出其所用时间,系统给出对其水平的判断和是否继续的提示;对玩家要求判断执行。(如图4) 图4判断模块图 2.2.6自动计数模块功能描述:系统根据您猜数字的次数,自动计数.(如图5) 图5自动计数模块图 2.2.7结果输出模块功能描述:直到用户猜到数字为止,提示信息是否重新猜数字,如果重新开始将进入下一次游戏,如果关闭将退出游戏系统。3.设计结果与分析(1)开始运行程序时图形界面的显示(如图7) 图7图形显示界面(2)玩家输入一个数“25”后,点击“确定”,系统提示“猜的有点小了,再大一点!”。(如图8) 图8系统提示(3)玩家再次输入一个数“70”后,点击“确定”,系统提示您“猜的

6、有点大了,再小一点!”。(如图9) 图9系统提示 (4)玩家再次输入一个数“32”,点击“确定”,系统提示“猜了半天才猜出来,小同志,尚须努力”,单击确定显示“您总共猜了8次,您猜数字总共花了33秒”。(如图1011) 图10图形界面结果输出 图a 图11图形界面结果输出图b(5)玩家再重新玩一次,获取随机数后,玩家输入一个随机数“90”,点击“确定”,系统提示“正确”!您总共猜了2次,您猜数字总共花了14秒”。(如图12) 图12图形界面结果输出图c(6)如果玩家输入数字不再1到100以内数字系统提示错误!(如图13) 图13图形界面提示输入错误4.设计体会通过这次课程设计,使我对JAVA这

7、门课又做了一次系统的复习,对各个知识点也都有了更深刻的理解,让我掌握的更扎实,同时也增强了实际操作能力,另一方面也对编程语言有了新的认识,为以后的学习打下了基础。在本次试验中,给我印象最为深刻的是程序的编译过程中,从中我学到了许多以前学有学会和没有学到的函数。这次的学习让我从纸上谈兵逐渐的过渡到实践出真知。自己动手,自己发现和解决问题。发现了自己的许多不足。平时没有掌握好的知识在这次实验中彻底暴露出来,经过不断思考,不断查阅资料和上机运行,解决其中大部分问题,还有的现在不能解决,我相信在以后的学习中能够解决好它们。5.参考文献1丁振凡.Java语言实用教程M.北京:北京邮电大学出版社 2005

8、 2耿祥义.Java2实用教程M.北京:清华大学出版社 20063赵付青.Java面向对象程序设计M.北京:国防工业出版社 2005 4耿祥义.Java课程设计M.北京:清华大学出版社 2005 附录 (1) /*程序运行时自动产生1-100的随机数*接受用户键盘输入数据并给出指示信息*直至猜对,游戏者猜对后,显示猜对次数*并且供计时功能*/importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.awt.event.KeyAdapter;importjava.awt.event.KeyEve

9、nt;importjava.util.Random;importjavax.swing.*;publicclassGuessNumextendsjavax.swing.JFrame/SetLook&Feeltry/设置窗口外观为windows外观 javax.swing.UIManager.setLookAndFeel(com.sun.java.swing.plaf.windows.WindowsLookAndFeel); catch(Exceptione)e.printStackTrace(); privateJLabeljLabel1;privateJTextFieldjTextField

10、1;privateJButtonjButton1;privateJButtonjButton2;privateintnumber=0;privateintcounter=0;longstartTime=System.currentTimeMillis(); longendTime;/*Auto-generatedmainmethodtodisplaythisJFrame*/ publicstaticvoidmain(Stringargs) GuessNuminst=newGuessNum(); inst.setVisible(true);/显示窗口/*新建一个随机数产生器,然后生成一个1到10

11、0之间的整数*/ publicGuessNum() super(); initGUI(); Randomrandom=newRandom(); number=random.nextInt(100);/产生一个1-100间的随机数/*初始化窗口组件*/ privatevoidinitGUI() trysetDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);/窗口关闭时销毁窗口getContentPane().setLayout(null);/设置窗口布局为绝对布局jLabel1=newJLabel();getContentPane()

12、.add(jLabel1);jLabel1.setText(欢迎进入有趣的猜数字游戏;+1到100之间的整数,你猜是什么?快来猜猜看(.)+ 请输入你想猜的数:); jLabel1.setBounds(45,0,420,150);/设置标签位置 jTextField1=newJTextField(); getContentPane().add(jTextField1);jTextField1.setBounds(42,168,112,28);/输入窗口大小jTextField1.addKeyListener(newKeyAdapter()/文本框添加键盘按键监听-监听回车键publicvoid

13、keyPressed(KeyEventevt) jTextField1KeyPressed(evt););jButton1=newJButton();/如果玩家不是输入一个合法的整数,则让他重新输入。JOptionPane.showMessageDialog(null,数字不合法,请输入一个1-100之间的整数!);/显示一个对话框jTextField1.setText();/清空文本框内容jTextField1.requestFocus();/文本框获取输入焦点 return/对玩家的输入进行判断。if(guessnumber)JOptionPane.showMessageDialog(nu

14、ll,猜的有点大了!,再小一点吧!);jTextField1.setText(); jTextField1.requestFocus();returnif(guessnumber)JOptionPane.showMessageDialog(null,猜的有点大了!,再小一点吧!); jTextField1.setText(); jTextField1.requestFocus(); returnif(guessnumber)JOptionPane.showMessageDialog(null,猜的一有点小了!,再大一点吧!); jTextField1.setText(); jTextField

15、1.requestFocus();returnif(guess=number)endTime=System.currentTimeMillis();(4)判定成绩模块 /判断成绩。 switch(counter)case1:JOptionPane.showMessageDialog(null,好厉害,真棒!();break; case2: case3: case4: case5: case6: case7:JOptionPane.showMessageDialog(null,这么快就猜对了,好厉害哦!();break; default:JOptionPane.showMessageDialog

16、(null,猜了半天才猜出来,小同志,尚须努力啊!(_);break;JOptionPane.showMessageDialog(null,您总共猜了+counter+次共花了+(endTime-startTime)/1000+秒的时间答对正确答案!);jTextField1.setText();jTextField1.requestFocus();(5)计时模块 /计时模块的代码分别写在游戏的开始和游戏的结束,取得时间差,以毫秒为单位。longstartTime=System.currentTimeMillis();longendTime=System.currentTimeMillis()

17、;(6)异常处理 /一个典型的异常处理如下:trystatement(s);catch(exceptiontype1name)statement(s);catch(exceptiontype2name)statement(s);finallystatement(s);/编写如下代码:/SetLook&Feeltryjavax.swing.UIManager.setLookAndFeel(com.sun.java.swing.plaf.windows.WindowsLookAndFeel);catch(Exceptione)e.printStackTrace();/try,catch的异常管理。tryguess=Integer.parseInt(jTextField1.getText();/新建一个随机数产生器,然后生成一个1到100之间的整数。Randomrandom=newRandom();intnum=random.nextInt(100);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1