第一范文网 - 专业文章范例文档资料分享平台

java-实验报告- 副本

来源:用户分享 时间:2020-06-21 本文由萌喵幼女 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

Java实验报告

学院:计算机科学与技术学院 班级: 软件工程 班 学号: 姓名:

一、 实验名称:算术测试

二 、实验目的:学习处理ActionEvent事件

三 、实验要求:编写一个算术测试小软件,用来训练小学生的算术能力。

程序有3个类组成,其中Teacher对象充当监视器,负责给出算术题目,并判断回答者的答案者的答案是否正确。ComputerFrame对象负责为算术题目提供视图,比如用户可以通过ComputerFrame对象提供的GUI界面看到题目,并通过该GUI界面给出题目的答案;MainClass是软件的主类。

四 、实验过程:

package cn.edu.xust.qingzhi; import java.awt.*; import java.awt.event.*; import java.util.Random;

import javax.swing.*; public class MainClass { public static void main(String[] args)

{ }

ComputerFrame frame; frame=new ComputerFrame(); frame.setTitle(\算术测试\frame.setBounds(100,100,650,180);

}

class ComputerFrame extends JFrame {

JMenuBar menubar; JMenu choiceGrade;

JMenuItem grade1,grade2;

JTextField textOne,textTwo,textResult; JButton getProblem,giveAnwser; JLabel operatorLabel,message; Teacher teacherZhang; ComputerFrame() {

teacherZhang=new Teacher(); teacherZhang.setMaxInteger(20); setLayout(new FlowLayout()); menubar=new JMenuBar();

choiceGrade=new JMenu(\选择级别\ grade1=new JMenuItem(\幼儿级别\ grade2=new JMenuItem(\儿童级别\

grade1.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

teacherZhang.setMaxInteger(10); } }); grade2.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

teacherZhang.setMaxInteger(50);

} });

choiceGrade.add(grade1); choiceGrade.add(grade2); menubar.add(choiceGrade);

setJMenuBar(menubar);

textOne=new JTextField(5);//【代码1】创建textone,其可见字符长是5; textTwo=new JTextField(5); textResult=new JTextField(5);

operatorLabel=new JLabel(\

operatorLabel.setFont(new Font(\ message=new JLabel(\你还没有回答呢\ getProblem=new JButton(\获取题目\ giveAnwser=new JButton(\确认答案\

add(getProblem); add(textOne);

add(operatorLabel); add(textTwo);

add(new JLabel(\ add(textResult);

add(giveAnwser); add(message);

textResult.requestFocus(); textOne.setEditable(false);

textTwo.setEditable(false); getProblem.setActionCommand(\

textResult.setActionCommand(\ giveAnwser.setActionCommand(\

teacherZhang.setJTextField(textOne,textTwo,textResult);

teacherZhang.setJLabel(operatorLabel,message);

getProblem.addActionListener(teacherZhang); //【代码2】将teacherZhang注册为

getProblem的ActionEvent事件监听器 giveAnwser.addActionListener(teacherZhang);//【代码3】将teacherZhang注册为giveAnwser的ActionEvent事件监听器 textResult.addActionListener(teacherZhang);//【代码4】将teacherZhang注册为textResult的ActionEvent事件监听器

}

setVisible(true);

validate();

setDefaultCloseOperation(DISPOSE_ON_CLOSE); }

class Teacher implements ActionListener {

int numberOne,numberTwo; String operator=\

boolean isRight;

Random random; //用于给出随机数 int maxInteger; //题目中最大的整数 JTextField textOne,textTwo,textResult; JLabel operatorLabel,message; Teacher(){ random=new Random();

}

public void setMaxInteger(int n){ maxInteger=n; }

public void actionPerformed(ActionEvent e){

String str=e.getActionCommand(); if(str.equals(\ numberOne=random.nextInt(maxInteger)+1;//1到maxInteger之间的随机数 }

numberTwo=random.nextInt(maxInteger)+1;

double d=Math.random(); //获取0-1之间的随机数 if(d>=0.5) operator=\else operator=\

textOne.setText(\textTwo.setText(\operatorLabel.setText(operator); message.setText(\请回答:\textResult.setText(null);

else if(str.equals(\

String anwser=textResult.getText(); try{

int result=Integer.parseInt(anwser); if(operator.equals(\

if(result==numberOne+numberTwo) message.setText(\你回答正确\

else

message.setText(\你回答错误\

}

else if (operator.equals(\ if(result==numberOne-numberTwo) message.setText(\你回答正确\

else

message.setText(\你回答错误\ } }

}

}

catch(NumberFormatException ex){ message.setText(\请输入数字字符\ }

}

public void setJTextField(JTextField...t){ textOne=t[0]; } }

textTwo=t[1]; textResult=t[2];

public void setJLabel(JLabel...label){

operatorLabel=label[0]; message=label[1];

五 、实验结果:

六 、实验总结:通过这次的实验我学会了组件的属性和功能,还

有处理组件上发生的界面事件,其中还要掌握事件源,监视器,处理事件的接口等等。学会了使用随机函数。

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新小学教育java-实验报告- 副本 全文阅读和word下载服务。

java-实验报告- 副本 .doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1091994.html(转载请注明文章来源)
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top