课程设计猜数字游戏Java
- 格式:doc
- 大小:246.00 KB
- 文档页数:15
Java猜数游戏的课程设计一、课程目标知识目标:1. 理解Java基本语法和程序结构,掌握猜数游戏的基本逻辑。
2. 学会使用随机数生成器,理解其工作原理。
3. 掌握使用循环和条件语句进行逻辑判断和控制程序流程。
技能目标:1. 能够编写并运行一个简单的Java猜数游戏,实现用户交互功能。
2. 培养学生独立思考和解决问题的能力,学会调试和修改程序中的错误。
3. 提高学生的团队协作能力,通过小组讨论和合作完成游戏设计。
情感态度价值观目标:1. 培养学生对编程的兴趣和热情,激发学习Java的积极性。
2. 培养学生面对挑战时的坚持和耐心,学会从失败中吸取经验教训。
3. 培养学生的创新意识,鼓励他们勇于尝试新方法,发挥个人特长。
课程性质分析:本课程为初中年级的Java编程入门课程,通过设计猜数游戏,让学生在实践操作中掌握编程知识,培养编程兴趣。
学生特点分析:初中年级学生对新鲜事物充满好奇,有一定逻辑思维能力,但注意力容易分散,需结合实际操作和趣味性来提高学习效果。
教学要求:1. 结合猜数游戏的实际案例,让学生在动手实践中学习Java编程知识。
2. 注重启发式教学,引导学生主动思考,培养解决问题能力。
3. 关注学生的个体差异,提供个性化指导,提高学生的编程技能。
二、教学内容1. Java基本语法与程序结构- 数据类型、变量与常量- 运算符、表达式与语句- 程序的基本结构:顺序结构、分支结构、循环结构2. 随机数生成器- Random类的使用方法- 生成指定范围的随机数3. 循环与条件语句- for循环、while循环、do-while循环- if条件语句、switch条件语句4. 猜数游戏设计与实现- 游戏需求分析- 代码编写与调试- 用户交互功能实现:输入与输出5. 小组合作与展示- 分组讨论,共同设计游戏- 每组展示成果,分享经验教学内容安排与进度:第一课时:Java基本语法与程序结构第二课时:随机数生成器第三课时:循环与条件语句第四课时:猜数游戏设计与实现(1)第五课时:猜数游戏设计与实现(2)第六课时:小组合作与展示教材章节关联:本教学内容与教材中以下章节相关:- 第2章 Java基本语法与程序结构- 第3章 运算符、表达式与语句- 第4章 程序的控制结构- 第5章 随机数与循环语句三、教学方法1. 讲授法:- 在讲解Java基本语法、程序结构、循环与条件语句等理论知识时,采用讲授法进行教学,为学生提供清晰的知识框架。
java课程设计猜数字一、教学目标本章节的教学目标分为三个部分:知识目标、技能目标和情感态度价值观目标。
知识目标:使学生掌握Java编程语言的基本语法和结构;让学生了解和理解猜数字游戏的设计原理和实现方法。
技能目标:培养学生使用Java语言进行程序设计的能力;培养学生解决问题的能力,使其能够独立设计和实现简单的游戏程序。
情感态度价值观目标:培养学生对计算机科学的兴趣和热情,提高其对编程语言和程序设计的自信心;培养学生团队合作的精神,使其在团队中能够有效地沟通和协作。
二、教学内容本章节的教学内容主要包括Java编程语言的基本语法和结构、猜数字游戏的设计原理和实现方法。
1.Java编程语言的基本语法和结构:数据类型、变量、运算符、控制结构、类和对象等。
2.猜数字游戏的设计原理和实现方法:游戏规则、算法实现、用户界面设计等。
三、教学方法本章节的教学方法采用讲授法、案例分析法和实验法相结合的方式。
1.讲授法:通过讲解Java编程语言的基本语法和结构,让学生了解和理解猜数字游戏的设计原理。
2.案例分析法:分析已有的猜数字游戏程序,让学生了解和理解游戏的设计方法和技巧。
3.实验法:让学生动手编写和运行猜数字游戏程序,培养其使用Java语言进行程序设计的能力。
四、教学资源本章节的教学资源包括教材、参考书、多媒体资料和实验设备。
1.教材:选用《Java编程思想》作为主要教材,介绍Java编程语言的基本语法和结构。
2.参考书:提供《Java核心技术》等参考书籍,供学生深入研究Java编程语言的相关知识。
3.多媒体资料:制作PPT课件,展示猜数字游戏的设计原理和实现方法。
4.实验设备:提供计算机实验室,让学生进行编程实践和实验。
五、教学评估本章节的评估方式包括平时表现、作业和考试三个部分,以全面、客观、公正地评价学生的学习成果。
1.平时表现:通过课堂参与、提问、小组讨论等方式评估学生的学习态度和积极性。
2.作业:布置与课程内容相关的编程作业,评估学生的编程能力和对知识的掌握程度。
java课课程设计猜数字一、教学目标本节课的学习目标为:知识目标:使学生掌握Java编程语言中猜数字游戏的基本逻辑和实现方法。
技能目标:培养学生运用Java语言进行程序设计的能力,能够独立完成猜数字游戏的设计与实现。
情感态度价值观目标:培养学生对计算机编程的兴趣,提高学生解决问题的能力,培养学生的创新思维。
二、教学内容本节课的教学内容主要包括:1.Java语言猜数字游戏的基本逻辑。
2.Java语言猜数字游戏的实现方法。
3.猜数字游戏编程实践。
三、教学方法本节课采用以下教学方法:1.讲授法:讲解Java语言猜数字游戏的基本逻辑和实现方法。
2.案例分析法:分析实际案例,引导学生理解猜数字游戏的实现过程。
3.实验法:学生动手实践,独立完成猜数字游戏的设计与实现。
四、教学资源本节课的教学资源包括:1.教材:《Java编程语言》。
2.参考书:《Java核心技术》。
3.多媒体资料:教学PPT、猜数字游戏案例视频。
4.实验设备:计算机、网络。
五、教学评估本节课的评估方式包括:1.平时表现:观察学生在课堂上的参与程度、提问回答等情况,评估学生的学习态度和积极性。
2.作业:布置相关的编程作业,评估学生的理解和掌握程度。
3.考试:进行期末考试,评估学生对本节课知识点的掌握程度。
评估方式应客观、公正,能够全面反映学生的学习成果。
六、教学安排本节课的教学安排如下:1.教学进度:按照教材的章节安排,逐步讲解和实践猜数字游戏的设计与实现。
2.教学时间:每节课45分钟,其中包括讲解、实践和互动环节。
3.教学地点:计算机实验室。
教学安排应合理、紧凑,确保在有限的时间内完成教学任务,同时考虑学生的实际情况和需要。
七、差异化教学根据学生的不同学习风格、兴趣和能力水平,本节课采取以下差异化教学措施:1.提供不同难度的编程任务,满足不同能力水平的学生。
2.鼓励学生进行合作学习,发挥集体智慧,提高学习效果。
3.给予学生个性化的指导,针对学生的薄弱环节进行针对性教学。
猜数字java课程设计一、教学目标本课程的学习目标包括以下三个方面:1.知识目标:学生需要掌握Java编程语言的基本语法、数据类型、控制结构、函数、数组、字符串等基本概念,并能够运用这些知识编写简单的Java程序。
2.技能目标:学生需要通过实践,学会使用Java开发工具(如Eclipse、IntelliJ IDEA等)进行Java程序的编写、调试和运行,并掌握基本的代码规范和编程技巧。
3.情感态度价值观目标:学生应该培养对计算机科学和编程的兴趣和热情,培养良好的编程习惯和团队协作精神,提高解决问题的能力和创新思维。
二、教学内容本课程的教学内容主要包括以下几个部分:1.Java编程语言的基本语法和数据类型。
2.控制结构和函数。
3.数组和字符串的操作。
4.Java程序的编写、调试和运行。
5.基本的代码规范和编程技巧。
三、教学方法本课程的教学方法主要包括以下几种:1.讲授法:教师通过讲解和示范,向学生传授Java编程语言的基本知识和技能。
2.讨论法:学生通过小组讨论,共同解决问题,提高团队协作能力和解决问题的能力。
3.案例分析法:教师通过分析典型案例,引导学生运用所学知识解决实际问题。
4.实验法:学生通过动手实践,编写Java程序,巩固所学知识,提高编程技能。
四、教学资源本课程的教学资源包括以下几种:1.教材:Java编程语言的经典教材,如《Java核心技术》、《Java编程思想》等。
2.参考书:提供更深入的Java编程知识,如《Effective Java》、《Java并发编程》等。
3.多媒体资料:教学视频、PPT课件等,帮助学生更好地理解和掌握Java编程知识。
4.实验设备:计算机、编程环境、网络等,为学生提供实践编程的条件。
五、教学评估本课程的评估方式包括以下几个方面:1.平时表现:学生在校内的课堂表现、参与讨论的积极性和团队合作的表现等,占总评的20%。
2.作业:学生按时完成并提交作业,作业质量占总评的30%。
南阳师范学院物理与电子工程学院《JAVA语言程序设计》课程设计报告完成人:班级:学号:专业:摘要猜数字是一款非常经典的脑力游戏,游戏规则简单,但是玩起来难度较大,是消磨时间、锻炼脑力的好选择。
这个课程设计可以更加深入的了解字符界面的编程过程,更熟练的掌握Java程序框架的搭建和类的创建格式。
在分析阶段,要进行面向对象的需求分析、系统设计、画出相应的需求分析图、系统设计模型图,这些工作更能锻炼逻辑思维,更能培养思考的全面性。
一.概要设计1.1 设计任务与要求功能要求:该程序用图形界面实现下面功能:用计算机产生一个100以内的随机数,游戏者进行猜数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直至猜对为止。
1.2 选题目的与意义通过猜数游戏这个课题我可以学到文本框、标签框、按钮、布局、对话框方面的知识和应用,达到设计登陆界面、加入图像显示功能以及设计按钮的目的,让我更加的掌握和理解java面向对象语言的需求分析、系统设计,所以我选择猜数游戏这个课题。
1.3程序结构图二.详细设计2.1总体设计分析1随机数的获取:玩家输入一个数字,数字的范围在1-100之间,系统获取随机数。
2 输入输出模块:对玩家输入的数字进行判断和提示。
如果玩家输入的不是系统要求的数字,系统将提示您,您输入的不是数字请重新输入.。
如果玩家输入的数字与随机生成数相比较,比随机生成数小.系统提示您,数字太小请您重新输入。
如果玩家输入的数字与随机生成数相比较,比随机生成数大.系统提示您,数字太大请您重新输入。
3 判断模块:算出所用时间在玩家猜中时给出其所用时间,系统给出对其水平的判断和是否继续的提示;对玩家要求判断执行。
4 自动计数模块:系统根据您猜数字的次数,自动计数.5 结果输出模块:直到用户猜到数字为止,提示信息是否继续猜数字,如果继续将进入下一次游戏,如果退出将退出游戏系统.2.2源程序import java.awt.Color;import java.awt.Container;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.Box;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JTextField;class WindowButton extends JFrame implements ActionListener{ /****/private static final long serialVersionUID = 1L;int number;JTextField inputNumber;JLabel feedBack;JButton buttonGetNumber,buttonEnter;WindowButton(String s){super("猜数字小游戏");buttonGetNumber=new JButton("得到一个随机数");feedBack=new JLabel("无反馈信息",JLabel.CENTER);feedBack.setBackground(Color.green);inputNumber=new JTextField("0",5);buttonEnter=new JButton("确定");buttonEnter.addActionListener(this);buttonGetNumber.addActionListener(this);buttonGetNumber.addActionListener(this);Box boxH1=Box.createHorizontalBox();boxH1.add(new JLabel("获取1-100之间的随机数:")); boxH1.add(buttonGetNumber);Box boxH2=Box.createHorizontalBox();boxH2.add(new JLabel("输入您的猜测: "));boxH2.add(inputNumber);Box boxH3=Box.createHorizontalBox();boxH3.add(new JLabel("单击确定按钮: "));boxH3.add(buttonEnter);Box boxH4=Box.createHorizontalBox();boxH4.add(new JLabel("反馈信息: "));boxH4.add(feedBack);Box baseBox=Box.createVerticalBox();baseBox.add(boxH1);baseBox.add(boxH2);baseBox.add(boxH3);baseBox.add(boxH4);Container con=getContentPane();con.setLayout(new FlowLayout());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();}public void actionPerformed(ActionEvent e){if(e.getSource()==buttonGetNumber){number=(int)(Math.random()*100)+1;}else if(e.getSource()==buttonEnter){int guess=0;try{guess=Integer.parseInt(inputNumber.getText());if(guess==number){JOptionPane.showMessageDialog(this,"恭喜您,猜对了");}else if(guess>number){JOptionPane.showMessageDialog(this,"您猜的太大了,请继续猜");inputNumber.setText(null);}else if(guess<number){JOptionPane.showMessageDialog(this,"您猜的太小了,请继续猜");inputNumber.setText(null);}}catch(NumberFormatException event){JOptionPane.showMessageDialog(this,"请输入数字字符");}}}}public class 猜数字游戏 {public static void main(String args[]){new WindowButton("猜数字小游戏");三. 运行调试与分析讨论3.1 系统测试方案1点击运行程序后,显示出图形界面。
java课程设计猜数游戏一、教学目标本节课的教学目标是使学生掌握Java编程的基本语法和逻辑思维能力,通过编写猜数游戏程序,培养学生运用Java语言解决实际问题的能力。
具体目标如下:1.知识目标:a.掌握Java的基本数据类型、运算符和表达式;b.理解条件语句和循环语句的用法;c.熟悉数组的声明和使用;d.了解Java编程中的输入输出处理。
2.技能目标:a.能够使用Java编写简单的程序;b.能够运用条件语句和循环语句实现程序的分支和循环;c.能够使用数组存储和处理数据;d.能够使用Java的输入输出处理数据。
3.情感态度价值观目标:a.培养学生对编程的兴趣和热情;b.培养学生解决问题的自信心和耐心;c.培养学生团队合作意识和沟通能力。
二、教学内容本节课的教学内容主要包括以下几个部分:1.Java基本数据类型、运算符和表达式的介绍;2.条件语句和循环语句的用法;3.数组的声明和使用;4.Java编程中的输入输出处理;5.猜数游戏程序的编写和调试。
三、教学方法为了提高学生的学习兴趣和主动性,本节课将采用以下教学方法:1.讲授法:讲解Java基本语法和逻辑思维能力的相关知识;2.案例分析法:通过分析猜数游戏程序的案例,使学生理解和掌握Java编程的方法;3.实验法:让学生亲自动手编写和调试猜数游戏程序,提高学生的实践能力。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:《Java编程入门》;2.参考书:《Java核心技术》;3.多媒体资料:PPT课件、猜数游戏案例视频;4.实验设备:计算机、网络环境。
五、教学评估本节课的评估方式将包括以下几个方面:1.平时表现:通过学生在课堂上的参与度、提问回答、合作表现等评估学生的学习态度和积极性。
2.作业:通过学生提交的猜数游戏程序代码质量、逻辑清晰度、注释规范性等方面评估学生的编程能力和理解程度。
3.考试:通过期末考试中的相关题目,评估学生对Java编程知识的掌握程度和应用能力。
Java课程设计(猜数字游戏)完整版简介猜数字游戏是一个经典的游戏,在这个游戏中,计算机会随机生成一个数字,玩家需要通过猜测来找出这个数字。
这个Java课程设计将带您一步步完成一个完整版的猜数字游戏,从计算机生成随机数到玩家的输入猜测,以及判断猜测结果的正确性,最后给出相应的提示。
步骤1. 确定游戏规则在猜数字游戏中,计算机会生成一个1到100之间的随机数,玩家需要通过输入猜测来找出这个数字。
计算机会根据玩家的猜测给出相应的提示,直到猜对为止。
提示包括猜测的数字与目标数字的大小关系,以及猜测次数。
2. 创建Java项目首先,我们需要创建一个新的Java项目。
你可以选择使用任何IDE,比如Eclipse或IntelliJ IDEA。
创建一个新的Java 项目,并为项目选择一个合适的名称。
3. 定义游戏的主要类我们开始创建游戏的主要类,例如GuessNumberGame。
在这个类中,我们会包含游戏的主要逻辑。
public class GuessNumberGame {// 代码内容}4. 生成随机数在GuessNumberGame类中,我们需要生成一个1到100之间的随机数,作为目标数字。
我们可以使用Java的java.util.Random类来实现。
import java.util.Random;public class GuessNumberGame {private int targetNumber;public void generateTargetNumber() {Random random = new Random();this.targetNumber = random.nextInt(100) + 1;}}5. 获取玩家的猜测接下来,我们需要获取玩家的输入猜测。
可以使用java.util.Scanner来获取控制台输入。
```java import java.util.Scanner;public class GuessNumberGame { private int targetNumber; private Scanner scanner;public GuessNumberGame() {this.scanner = new Scanner(System.in);}public void getGuessFromPlayer() {System.out.print(\。
猜数字java课程设计一、课程目标知识目标:1. 让学生理解Java编程中随机数生成的概念,掌握生成指定范围随机数的基本方法。
2. 使学生掌握Java基本输入输出流的操作,并能应用于猜数字游戏的开发。
3. 帮助学生理解循环结构和条件判断语句在程序流程控制中的应用。
技能目标:1. 培养学生编写Java程序解决问题的能力,特别是在开发一个简单的猜数字游戏中应用所学的知识点。
2. 提高学生在编程中调试和修改代码的能力,培养解决实际问题的技巧。
3. 让学生通过实践操作,掌握用Java编写具有交互功能的程序。
情感态度价值观目标:1. 培养学生面对编程挑战时的耐心和毅力,增强克服困难、解决问题的自信。
2. 激发学生的学习兴趣,鼓励学生主动探索计算机编程的奥秘。
3. 培养学生的合作精神,通过小组讨论、互帮互助,共同完成学习任务。
本课程针对的学生群体为已有一定Java编程基础的中学生,具备基本的编程概念和逻辑思维能力。
课程性质为实践操作性强,注重学生的动手能力和创新能力培养。
教学要求强调理论与实践相结合,鼓励学生在实践中探索、总结和反思,从而实现知识技能的内化和情感态度价值观的塑造。
通过本课程的学习,学生将能够独立完成一个简单的猜数字游戏,并在过程中巩固Java编程知识,提升编程技能。
二、教学内容1. 随机数生成:介绍Java中Random类的使用方法,使学生掌握生成指定范围随机数的能力。
- 教材章节:第章节“随机数的生成与应用”2. 输入输出流操作:复习Java基本输入输出流的使用,重点讲解Scanner类的输入操作。
- 教材章节:第章节“Java输入输出流”3. 循环结构与条件判断:回顾for、while循环以及if-else条件判断语句,讲解在猜数字游戏中的应用。
- 教材章节:第章节“流程控制语句”4. 猜数字游戏设计与实现:结合所学知识点,设计并实现一个简单的猜数字游戏。
- 教材章节:综合应用章节5. 程序调试与优化:指导学生如何调试程序,发现并解决常见问题,提高程序质量。
java课程设计猜数字大小一、教学目标本节课的教学目标是让学生掌握Java编程语言的基本语法和逻辑思维能力,通过编写“猜数字大小”的程序,培养学生的编程兴趣和解决问题的能力。
具体目标如下:1.知识目标:使学生了解Java的基本数据类型、循环结构和条件结构,掌握random()方法的使用。
2.技能目标:培养学生运用Java语言编写简单程序的能力,能独立完成“猜数字大小”的游戏。
3.情感态度价值观目标:培养学生对编程的兴趣,激发学生主动学习和探索计算机科学的欲望。
二、教学内容本节课的教学内容主要包括以下几个部分:1.Java基本数据类型和变量:介绍整型、浮点型、字符型等基本数据类型,以及如何声明和使用变量。
2.循环结构:讲解for循环和while循环的语法和使用方法,引导学生理解循环的原理和应用。
3.条件结构:介绍if-else语句的用法,培养学生掌握条件判断的基本技巧。
4.random()方法:讲解如何使用Math类中的random()方法生成随机数,并应用于“猜数字大小”的游戏。
5.程序设计原则:引导学生遵循编程规范,编写结构清晰、易于维护的代码。
三、教学方法本节课采用以下教学方法:1.讲授法:讲解Java基本语法、循环结构和条件结构等理论知识。
2.案例分析法:通过分析“猜数字大小”的案例,使学生理解程序的设计思路和实现方法。
3.实验法:让学生动手编写程序,实践所学知识,培养学生的实际操作能力。
4.讨论法:学生进行小组讨论,分享编程心得,互相学习,提高团队协作能力。
四、教学资源本节课所需教学资源包括:1.教材:《Java编程基础》或其他类似教材,用于引导学生学习Java基本语法和编程技巧。
2.多媒体资料:PPT或其他演示文稿,用于展示“猜数字大小”游戏的程序设计过程。
3.实验设备:计算机、投影仪等,用于让学生实际操作和实践所学知识。
4.网络资源:提供在线编程平台,便于学生在线编写和运行程序,及时反馈学习效果。
java猜数字游戏课程设计一、教学目标本课程的目标是让学生掌握Java编程语言的基本知识,学会使用Java编写简单的猜数字游戏程序。
通过本课程的学习,学生将能够理解Java的基本数据类型、控制结构、函数调用等概念,并能够运用这些知识解决实际问题。
同时,学生将培养编程思维,提高逻辑分析和解决问题的能力。
具体的学习目标包括:1.知识目标:–掌握Java的基本数据类型(整型、浮点型、字符型等);–学会使用Java的控制结构(条件语句、循环语句等);–理解Java的函数调用和参数传递;–熟悉Java的输入输出操作。
2.技能目标:–能够使用Java编写简单的猜数字游戏程序;–能够分析并解决编程过程中遇到的问题;–能够运用Java编程语言解决实际问题。
3.情感态度价值观目标:–培养学生的编程兴趣,提高学生对计算机科学的热爱;–培养学生团队合作、自主学习的能力;–培养学生面对挑战、勇于尝试的精神。
二、教学内容本课程的教学内容主要包括Java的基本数据类型、控制结构、函数调用和输入输出操作。
具体的教学大纲如下:1.第一章:Java简介–Java语言的发展历程和特点;–Java程序的基本结构。
2.第二章:Java基本数据类型–整型、浮点型、字符型数据的定义和使用;–数据类型的转换。
3.第三章:控制结构–条件语句(if-else)的使用;–循环语句(for、while)的使用。
4.第四章:函数调用–函数的定义和声明;–参数传递和返回值。
5.第五章:输入输出操作–文件读写;–控制台输入输出。
6.第六章:猜数字游戏–猜数字游戏的需求分析;–猜数字游戏的程序设计;–猜数字游戏的测试与优化。
三、教学方法本课程采用讲授法、案例分析法和实验法相结合的教学方法。
1.讲授法:通过讲解Java的基本概念和知识点,让学生掌握Java编程语言的基本知识;2.案例分析法:通过分析具体的猜数字游戏案例,让学生学会使用Java编程解决实际问题;3.实验法:让学生动手编写猜数字游戏程序,培养学生的编程能力和实践能力。
猜数字游戏摘要Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。
猜数字游戏是一个简单,有趣的小游戏。
通过设计猜数字游戏,可以进一步了解Swing图形用户界面设计,事件处理和异常处理机制。
利用Eclipse平台,综合运用Java基础知识,设计猜数字游戏。
关键词:Java;Eclipse;Swing图形用户界面设计;事件处理;异常处理机制GUESS NUMBER GAMEABSTRACTJava is a kind of simple, object-oriented, distributed, interpretation model, strong security, the structure is neutral, portable, excellent performance, multithreading dynamic language. Guess Numbers game is a simple, interesting little game. Through the design guess Numbers game, can further understand Swing graphical user interface design, event handling and exception handling mechanism. Use Eclipse platform, the integrated use of Java basic knowledge, design guess Numbers game.Key words: Java; Eclipse; Swing graphical user interface design; Event handling; Exception handling mechanism目录1 设计内容 (1)2 自定义类说明 (2)3 程序流程图 (4)4 程序运行结果 (5)参考文献 (12)附录1设计内容设计一个猜数字游戏程序,要求具体如下特性:(1) 输入任意一个数字。
数字的要求是1—100的自然数即可。
(2)系统对您输入的数字进行判断。
如果玩家输入的数字与计算机随机生成数相比较,输入的数字比随机生成数小.系统将提示您,数字太小请您重新输入。
如果玩家输入的数字与计算机随机生成数相比较,如果输入的数字比随机生成数大。
系统将提示您,数字太大请您重新输入。
如果玩家输入的字符不是合法字符,系统将提示您,您输入的数字不合法,请从新输入。
(3)每猜测一次,系统会记录下来,游戏结束后,显示共猜测多少次。
2 自定义类说明2.1用户界面类类名 TestNumber成员变量:随机产生的数字:number用户猜测的数字:guessNumber界面初始高度: DEFAULT_HIEGHT界面初始宽度: DEFUALT_WIDTH面板: panel panel2用户输入数字区: field获取随机数字按钮:startButton测试用户是否答对按钮:DEFAULT_WEIGHT显示测试结果区:area记录测试次数:count两个匿名内部类(1)点击按钮,随机产生数字startButton.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){//获取1~100的随机数number=(int)(Math.random()*100+1);}});(2) 点击按钮,比较用户猜测的数字和系统随机产生的数字的大小:testButton.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){try{String line=field.getText();guessNumber=Integer.parseInt(line);if(number==guessNumber){area.setText("在第"+(count++)+"次,你猜对了!");}if(number<guessNumber){area.setText("你猜大了");count++;}if(number>guessNumber){area.setText("你猜小了!");count++;}}catch(NumberFormatException event){area.setText("请输入数字!");}}});2.2测试类类名 TestNumber方法:main方法,用于创建用户界面检测NumberFrame实例。
3 程序流程图图1 程序流程图4 程序运行结果4.1 用户界面程序和运行结果程序(只有图形界面,没有进行事件处理):public Number(){setLayout(new GridLayout(2,1));setTitle("猜数字游戏");setSize(DEFAULT_HEIGHT,DEFAULT_WEIGHT);panel=new JPanel();panel.setLayout(new GridLayout(3,2));panel.setBackground(Color.MAGENTA);//显示JLabel label=new JLabel("请点击按钮,开始猜数字:");JButton startButton=new JButton("产生一个1~100的随机数!");JLabel label2=new JLabel("请输入你猜到的数字");field=new JTextField();JLabel label3=new JLabel("单击测试按钮:");JButton testButton=new JButton("test");panel.add(label);panel.add(startButton);panel.add(label2);panel.add(field);panel.add(label3);panel.add(testButton);panel2=new JPanel();area=new TextArea();add(panel);add(area);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}运行结果:图2 界面4.2 猜数字游戏界面程序:class NumberFrame extends JFrame {private int number=0;private int guessNumber=0;private final static int DEFAULT_HEIGHT=400;private final static int DEFAULT_WEIGHT=400;JPanel panel;JPanel panel2;JTextField field;JButton startButton;JButton testButton;TextArea area;int count=0;public NumberFrame(){setLayout(new GridLayout(2,1));setTitle("猜数字游戏");setSize(DEFAULT_HEIGHT,DEFAULT_WEIGHT);panel=new JPanel();panel.setLayout(new GridLayout(3,2));panel.setBackground(Color.MAGENTA);//显示JLabel label=new JLabel("请点击按钮,开始猜数字:");JButton startButton=new JButton("产生一个1~100的随机数!");startButton.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){//获取1~100的随机数number=(int)(Math.random()*100+1);}});JLabel label2=new JLabel("请输入你猜到的数字");field=new JTextField();JLabel label3=new JLabel("单击测试按钮:");JButton testButton=new JButton("test");testButton.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){try{String line=field.getText();guessNumber=Integer.parseInt(line);if(number==guessNumber){area.setText("在第"+(count++)+"次,你猜对了!");}if(number<guessNumber){area.setText("你猜大了");count++;}if(number>guessNumber){area.setText("你猜小了!");count++;}}catch(NumberFormatException event){area.setText("请输入数字!");}}});panel.add(label);panel.add(startButton);panel.add(label2);panel.add(field);panel.add(label3);panel.add(testButton);panel2=new JPanel();area=new TextArea();add(panel);add(area);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }}运行结果:当number<guessNumber图3 运行结果当number>guessNumber图3 运行结果当number=guessNumber图4 运行结果当用户没有输入数字时,提醒用户输入数字图5 运行结果参考文献[1] 印旻.Java与面向对象程序设计教程.北京:清华大学出版社,1999.11[2] Cay S.Horstmann,Gary Cornell著.Java核心技术.北京:机械工业出版社,2008.5[3] 张跃平.Java2实用教程实验指导与习题解答(第三版)[M]. 北京:清华大学出版社, 2004[4] 布洛克.Effective Java中文版.机械工业出版社,2009.01。