JAVA实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中南林业科技大学涉外学院
理工系综合性实验
实验报告
课程名称面向对象java程序设计
实验学期 2011 至 2012 学年第 1 学期
学生所在系部计算机系
1.年级 10级专业班级计算机1班
学生姓名李剑锋学号 20107997 任课教师李津
实验成绩
理工系制
《面向对象程序设计》课程综合性实验报告
一、实验目的
通过编写Java的应用系统综合实例——简易猜字游戏,总结、回顾和实践面向对象的编程思想以及编程方法,并通过编写程序来掌握Java语言编程技巧,将学习
到的知识融会贯通,同时提高调试程序的能力,养成良好的编程习惯,并增强对程
序设计整体思路的把握。
程序使用Eclipse集成开发环境完成,熟悉并掌握在Eclipse开发环境下编写Java程序。
二、设备与环境
硬件:多媒体计算机
软件:Windows7操作系统、JDK1.6开发包、Eclipse开发环境
三、实验内容
总体要求:程序界面友好,代码的可维护性好,包括必要的注释和相应的文档。
具体要求:计算机产生随机数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直至猜到,给出所用时间和评语。
1.输入区设计:从文本框中输入所猜的字。
2.按钮设计:包括三个按钮,第一个按钮生成随机数,第二个按钮判断你猜的数是否正确,第三个按钮退出游戏。
3.在游戏界面中添加了一下友好的图片。
四、实验结果及分析
通过此次Java综合性实验,我对Java有了系统的了解。
(一)实验分析
首先,在设计猜字游戏的时候,使用Eclipse集成开发环境,对界面布局进行了布置:在新建窗体(JFrame)上加一个面板(JPanel),在面板中加入两个标签(JLabel),一个文本输入框(JTextfield),三个按钮(JButton);
其中,文本输入框中初始化了文字“请输入所猜的数!”;
标签1中插入了一张“猜字游”图片!
该游戏的界面如图所示:
当点击开始按钮的时候弹出一个对话框如图:
输入一个你猜的数到文本输入框中然后点击“我猜是这个数”出现三种情况:猜大了!
猜小了!
猜中了!
该游戏的源代码如下:
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
import javax.swing.*;
public class CaiZI implements ActionListener{ //下面是该游戏所需的组件和容器
JFrame jf;
JPanel jp;
JLabel jl1,jl2;
JTextField textfield;
JButton jb1,jb2,jb3;
ImageIcon image1,image2;
int num;
Random random=new Random();
public CaiZI(){
//对组件和容器进行实例化和简单的处理
jf=new JFrame("猜字游戏");
jf.setSize(320, 320);
jp=new JPanel();
jp.setBackground(Color.cyan);
image1=new ImageIcon("image/猜.png");
image2=new ImageIcon("image/猜字游戏.png");
jf.setIconImage(image1.getImage());
jl1=new JLabel("猜猜");
textfield=new JTextField("请点击-开始游戏-开始游戏!");
textfield.setEnabled(false);
jl2=new JLabel(image2);
jb1=new JButton("开始游戏");
jb2=new JButton("我猜是这个数");
jb3=new JButton("退出游戏");
jb1.addActionListener(this);
jb2.addActionListener(this);
jb3.addActionListener(this);
jp.setLayout(null);
//对板面中的组件进行布局
textfield.setBounds(70, 120, 190, 40);
jl1.setBounds(10, 120, 40, 40);
jl2.setBounds(0, 0,320,100);
jb1.setBounds(105, 180, 120, 30);
jb2.setBounds(105, 210, 120, 30);
jb3.setBounds(105, 240, 120, 30);
jp.add(jl1);
jp.add(jl2);
jp.add(jb1);
jp.add(jb2);
jp.add(jb3);
jp.add(textfield);
jf.add(jp);
jf.setVisible(true);
}
public static void main(String[] args) { new CaiZI();
}
//事件处理代码
public void actionPerformed(ActionEvent e) {
if(e.getSource()==jb1){
num =random.nextInt(10);//生成一个10~20之间的随机数,并且保存在num中
System.out.println(num);
JOptionPane.showMessageDialog(null, "生成了一个0到10的随机数!");
textfield.setText("请输入你猜的数!");
textfield.setEnabled(true);
}
if(e.getSource()==jb2){
if(Integer.valueOf(textfield.getText())==num )
{
JOptionPane.showMessageDialog(null, "恭喜你猜中了!你太厉害了!");
}
if( Integer.valueOf(textfield.getText())<num )
{
JOptionPane.showMessageDialog(null, "你猜小了!继续加油哦!");
}
if ( Integer.valueOf (textfield .getText())>num ) {
JOptionPane.showMessageDialog (null , "你猜大了!继续加油哦!");
}
}
if (e.getSource()==jb3) { System.exit (0);
}
}
}
用到的两张小图片是:。