课程设计报告java.docx
- 文档编号:29161713
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:22
- 大小:164.09KB
课程设计报告java.docx
《课程设计报告java.docx》由会员分享,可在线阅读,更多相关《课程设计报告java.docx(22页珍藏版)》请在冰豆网上搜索。
课程设计报告java
攀枝花学院课程设计
题目:
猜数字游戏
院(系):
数学与计算机学院
年级专业:
姓名:
学号:
指导教师:
二〇一三年十二月三十日
攀枝花学院教务处制
攀枝花学院本科学生课程设计任务书
题 目
猜数字游戏
1、课程设计的目的
通过本课程设计使学生能够较全面的掌握面向对象程序设计的有关概念和开发方法,以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力。
2、课程设计的内容和要求(包括原始数据、技术要求、工作要求等)
编写一个猜数字游戏,要求:
计算机产生随机数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直至猜到,给出所用时间和评语。
3、主要参考文献
[1]朱福喜.《Java语言程序设计》(第二版).科学出版社
[2]陈国君等.《Java程序设计基础》(第二版).清华大学出版社
[3]Deitel.《Java大学基础教程》(第六版).电子工业出版社
[4]MaryCampione.《Java语言导学》(第四版).机械工业出版社
[5]Y.DanielLiang.《Java语言程序设计基础篇》(第六版).机械工业出版社
[6]KathySierra.《HeadFirstJava》(第二版).东南大学出版社
4、课程设计工作进度计划
序号
时间(天)
内容安排
备注
1
1
分析设计准备
周一
2
2
编程调试阶段
周二至周三
3
1
编写课程设计报告
周四
4
1
考核
周五
总计
5(天)
指导教师(签字)
日期
年月日
教研室意见:
年月日
学生(签字):
接受任务时间:
年月日
课程设计(论文)指导教师成绩评定表
题目名称
猜数字游戏
评分项目
分值
得分
评价内涵
工作
表现
20%
01
学习态度
6
遵守各项纪律,工作刻苦努力,具有良好的科学工作态度。
02
科学实践、调研
7
通过实验、试验、查阅文献、深入生产实践等渠道获取与课程设计有关的材料。
03
课题工作量
7
按期圆满完成规定的任务,工作量饱满。
能力
水平
35%
04
综合运用知识的能力
10
能运用所学知识和技能去发现与解决实际问题,能正确处理实验数据,能对课题进行理论分析,得出有价值的结论。
05
应用文献的能力
5
能独立查阅相关文献和从事其他调研;能提出并较好地论述课题的实施方案;有收集、加工各种信息及获取新知识的能力。
06
设计(实验)能力,方案的设计能力
5
能正确设计实验方案,独立进行装置安装、调试、操作等实验工作,数据正确、可靠;研究思路清晰、完整。
07
计算及计算机应用能力
5
具有较强的数据运算与处理能力;能运用计算机进行资料搜集、加工、处理和辅助设计等。
08
对计算或实验结果的分析能力(综合分析能力、技术经济分析能力)
10
具有较强的数据收集、分析、处理、综合的能力。
成果
质量
45%
09
插图(或图纸)质量、篇幅、设计(论文)规范化程度
5
符合本专业相关规范或规定要求;规范化符合本文件第五条要求。
10
设计说明书(论文)质量
30
综述简练完整,有见解;立论正确,论述充分,结论严谨合理;实验正确,分析处理科学。
11
创新
10
对前人工作有改进或突破,或有独特见解。
成绩
指导教师评语
指导教师签名:
年 月 日
摘要
猜数字是一款非常经典的脑力游戏,游戏规则简单,但是玩起来难度较大,是消磨时间、锻炼脑力的好选择。
通过选择猜数字游戏这个题目,可以让我掌握Java中的包和类,并且可以灵活的使用eclipse软件。
同时更加深入的了解字符界面的编程过程。
使我更熟练的掌握Java程序框架的搭建和类的创建格式。
在分析阶段,要进行面向对象的需求分析、系统设计、画出相应的需求分析图、系统设计模型图,这些工作更能锻炼我的逻辑思维,更能培养我思考的全面性。
让我学会了多角度思考问题,对我以后的编程奠定了更好的基础。
关键词猜数字游戏,JAVA编程,eclipse
目录
攀枝花学院本科学生课程设计任务书
课程设计(论文)指导教师成绩评定表
摘要
1.需求分析1
1.1用户需求分析1
2.2开发环境分析1
2.问题描述1
2.1课程设计的任务2
2.2.课程设计的要求2
3模块设计2
3.1系统总体设计2
3.2功能模块设计3
4功能设计3
4.1游戏界面模块3
4.2随机数的产生模块3
4.3输入模块3
4.4记录猜测次数模块3
4.5计时模块4
4.6输入输出模块4
4.7成绩判断模块4
5.程序流程图6
6.测试分析6
6.1测试6
实验总结10
参考文献11
程序附页12
1.需求分析
1.1用户需求分析
设计一个猜数字游戏程序,要求具体如下特性:
a.输入任意一个数字。
数字的要求是1—100的自然数即可。
b.系统对您输入的数字进行判断。
如果玩家输入的数字与计算机随机生成数相比较,输入的数字比随机生成数小.系统将提示您,数字太小请您重新输入。
如果玩家输入的数字与计算机随机生成数相比较,如果输入的数字比随机生成数大。
系统将提示您,数字太大请您重新输入。
如果玩家输入的字符不是合法字符,系统将提示您,您输入的数字不合法,请从新输入。
c.游戏开始时,系统自动记录您猜数字的时间,结束后显示游戏共花费的时间。
d.每猜测一次,系统会记录下来,游戏结束后,显示共猜测多少次。
e.在游戏结束时,可以选择关闭游戏,或者再来一局。
1.2开发环境分析
硬件要求能运行Windows9.X操作系统的微机系统。
JAVA程序设计语言及相应的集成开发环境,J2SDK和eclipse开发工具。
J2SDK简介:
j2sdk是就阿Java的开发环境包。
它包含JDK(开发工具包)和JRE(运行时环境包)。
eclipse简介:
Eclipse是一个开放源代码的、基于Java的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentTools,JDT)。
2.问题描述
2.1课程设计的任务
根据所选题目,完成课程设计的分析、设计和编码,写出课程设计报告。
(1)掌握Java的语言规范,面向对象的核心概念和特性;
(2)掌握Java的编程技术,包括异常处理,多线程等;
(3)掌握Java应用软件的开发环境和开发过程;
(4)掌握面向对象的思想和程序设计方法。
2.2.课程设计的要求
设计一个猜数字游戏程序,该游戏可以由程序随机产生整数,玩游戏者通过由用户输入数字来匹配上面所产生的数字。
用户随机输入数字,当与计算机产生的随机数相符合时,计算机将提醒用户,游戏成功的信息,当有偏差时,将会提醒偏差,如偏大或者是偏小。
并给出游戏所用时间,同时根据游戏者所猜数字次数,给出评语。
3模块设计
3.1系统总体设计
猜数字游戏—游戏随机给出一个1—100(包括1和100)之间的数字,然后让你猜是什么数字。
你可以随便猜一个数字,游戏会提示太大还是太小,从而缩小结果范围。
经过几次猜测与提示后,最终推出答案。
游戏开始后,由计算机产生一个1-100的随机数,不显示在图形界面,但显示在字符界面。
用户只需输入所猜想的数字,打印在输入框内,按“确定”按钮表示确定,游戏返回提示语句,按照提示语句操作,直至游戏结束。
同时,计算机开始对游戏进行计时和计数功能。
3.2功能模块设计
4功能设计
4.1游戏界面模块
voidwelcome(){
System.out.println("**************************");
System.out.println("*欢迎来到猜数字游戏");
System.out.println("*进入游戏请按“1”");
System.out.println("*显示本次游戏的结果请按“2”");
System.out.println("*退出游戏请按“0”");
System.out.println("***************************");
System.out.println("请选择:
(1、2、0):
"+
"");
}
4.2随机数的产生模块
我们可以借助JavaAPI提供的Random类来产生一个随机数。
首先在main函数中加入以下代码:
的随机数
intnumber=(int)(Math.random()*100);//生成一个1-100间随机数
4.3输入模块
InputStreamReaderisr=newInputStreamReader(System.in);
BufferedReaderbr=newBufferedReader(isr);
4.4记录猜测次数模块
inti=0;//初始化猜数字的次数
i++;//i记录猜的次数
4.5计时模块
计时模块的代码分别写在游戏的开始和游戏的结束,取得时间差,以毫秒为单位。
longendTime=System.currentTimeMillis();//计时开始
longstartTime=System.currentTimeMillis();//计时结束
4.6输入输出模块
//对玩家的输入进行判断。
if(n System.out.println("你猜的数偏小"); } elseif(n>number){ System.out.println("你猜的数偏大"); } elseif(n==number){ longendTime=System.currentTimeMillis(); 4.7成绩判断模块 //判断成绩。 switch(i){ case1: System.out.println("神人! ! ! "); break; case2: System.out.println("半神! ! ! "); break; case3: System.out.println("牛人! ! ! "); break; case4: System.out.println("恭喜! ! ! "); break; case5: System.out.println("恭喜! ! ! "); break; case6: System.out.println("恭喜! ! ! "); break; case7: System.out.println("一般般啦! ! ! "); break; default: System.out.println("猜了半天才猜出来,还要多多练习哦! "); break; } System.out.println("你总共猜了"+i+"次"); System.out.println("共花了"+(endTime-startTime)/1000+"s! "); //System.out.println(""); } 5.程序流程图 6.测试分析 6.1测试 游戏界面: 测试进入游戏: 测试看当前答案和退出游戏: 实验总结 经过这几天努力终于完成了这份java课程设计,虽然在操作的过程中我都遇到了许多的困难,但是却使我得到了许多的意外收获。 Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。 在写代码的过程中我们也遇到了一些的困难,就是对一些有关Java语言的不理解,我便又到课本中去查找。 一个项目的成败关键不全在于技术。 要想在一个愉快的氛围里边以轻松的心情来完成紧张的工作,严谨的态度和工作的热情都是必不可少的。 以前上课时有许多的问题并没有真正的认识到,但通过这次试验的制作,使我掌握了许多更重要的知识点。 通过这次课程设计,使我在数据结构的逻辑特性和物理表示、数据结构的选择应用、算法的设计及其实现等方面加深了对课程基本内容的理解。 同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。 在此之前,我脑袋里面没有设计的思想,如何设计对我而言就是一张空白的纸。 当时就感觉自己什么都不会做,什么也不能做,但是真正接触后并没有想象的那么难,有什么不懂的上网去搜索,这是一个信息横流的世界,有google,baidu就没有不能解决的知识难题。 在网上搜索点有关的资料后,然后再利用自己在课堂上所学的知识,将所有内容连接起来,所有问题就迎刃而解。 课程设计是以学生自学为主、指导教师指导为辅,认真、独立地完成课程设计的任务,有问题就要及时主动与指导教师沟通。 在老师的悉心指导下和同学们的帮助下,使我顺利地完成了此次课程设计。 我相信这短短五天的课程设计将会是我以后不管是工作还是学习不可多得的经验。 参考文献 [1]黄明等,梁旭,周绍斌.《Java课程设计》电子工业出版社2006 [2]杨昭.《二级Java语言程序设计教程》中国水利水电出版社2006 [3]赵文靖.《Java程序设计基础与上机指导》清华大学出版社2006 [4]张广彬,孟红蕊,张永宝.《Java课程设计案例精编》清华大学出版社2007 [5]黄晓东.《Java课程设计案例精编(第一版)》中国水利水电出版社2004 [6][美]CayS.Horstmann程峰等译.《JAVA2核心技术》机械工业出版社2003 [7]赵毅主.《跨平台程序设计语言—Java》西安电子科技大学出版社2006 [8]王路群.《Java高级程序设计》中国水利水电出版社2006 [9]夏宽理.《Java语言程序设计》机械工业出版社.2008. [10]丁新民.《Java程序设计教程》人民邮电出版社.2006. [11]Y.DanielLiang.《Java语言程序设计基础篇》(第六版).机械工业出版社 程序附页 packageZhangWei; importjava.io.BufferedReader; importjava.io.IOException; importjava.io.InputStreamReader; publicclassgame{ inti=0;//记录猜数字的次数 voidwelcome(){ System.out.println("**************************"); System.out.println("*欢迎来到猜数字游戏"); System.out.println("*进入游戏请按“1”"); System.out.println("*显示本次游戏的结果请按“2”"); System.out.println("*退出游戏请按“0”"); System.out.println("***************************"); System.out.println("请选择: (1、2、0): "+ ""); } voidplayGame(intnumber){ System.out.println("游戏开始,请猜数(输入0-100之间的一个整数): "); longstartTime=System.currentTimeMillis(); InputStreamReaderisr=newInputStreamReader(System.in); BufferedReaderbr=newBufferedReader(isr); Stringstr=""; intn; try{ while(br! =null&&! str.equals("0")){ str=br.readLine(); n=Integer.parseInt(str); i++;//i记录猜的次数 if(n System.out.println("你猜的数偏小"); } elseif(n>number){ System.out.println("你猜的数偏大"); } elseif(n==number){ longendTime=System.currentTimeMillis(); switch(i){ case1: System.out.println("神人! ! ! "); break; case2: System.out.println("半神! ! ! "); break; case3: System.out.println("牛人! ! ! "); break; case4: System.out.println("恭喜! ! ! "); break; case5: System.out.println("恭喜! ! ! "); break; case6: System.out.println("恭喜! ! ! "); break; case7: System.out.println("一般般啦! ! ! "); break; default: System.out.println("猜了半天才猜出来,还要多多练习哦! "); break; } System.out.println("你总共猜了"+i+"次"); System.out.println("共花了"+(endTime-startTime)/1000+"s! "); //System.out.println(""); } } } catch(IOExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } } publicstaticvoidmain(String[]args){ intnumber=(int)(Math.random()*100);//生成随机数 gamer=newgame(); r.welcome(); InputStreamReaderreader=newInputStreamReader(System.in); BufferedReaderbr=newBufferedReader(reader); Strings=""; try{ while(s! =null){ s=br.readLine(); if(s.equals("1"))//输入“1”进入游戏; r.playGame(number); elseif(s.equals("2")){//输入“2”退出游戏; System.out.println("该次游戏的正确答案: "+number); r.welcome();//再次选择 } elseif(s.equals("0")){//输入“0”显示该次游戏的正确答案; System.exit(0); } } } catch(IOExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } try{ if(br! =null) br.close(); } catch(IOExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 报告 java