java-实验报告- 副本
更新时间:2023-09-19 04:22:01 阅读量: 小学教育 文档下载
- java实验报告心得体会推荐度:
- 相关推荐
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];
五 、实验结果:
六 、实验总结:通过这次的实验我学会了组件的属性和功能,还
有处理组件上发生的界面事件,其中还要掌握事件源,监视器,处理事件的接口等等。学会了使用随机函数。
正在阅读:
java-实验报告- 副本09-19
2016-2017年度上半学期幼儿园卫生保健工作计划执行方案12-20
2016浙江高考试题及答案-自选模块04-27
2018-2024年中国片状橡胶制品市场全景评估研究报告(目录) - 图05-17
江西省铅山一中2017-2018学年高三上学期(非零班)第一次理综模拟考试物理试题 Word版含答案09-24
移植免疫耐受诱导的新途径和机制-中华医学会 - 图文01-25
某某市xx区城管和综合执法局年度工作总结和2022年工作计划范文08-03
土建复绿施工组织 - 图文04-11
安徽省当涂市名校2018届九年级数学上学期第一次月考试题新人教版03-19
浅谈小学低年级作文教学05-29
- 通信原理实验报告
- 2016年上半年安徽省临床医学检验技术中级技师职称试题
- 传智播客刘意老师JAVA全面学习笔记
- 星级酒店客房部保洁服务标准与工作流程操作规范 - PA新员
- 算法竞赛入门经典授课教案第1章 算法概述
- 《微信公众平台架起家校互通桥》结题报告
- 2018年宁夏银川市高考数学三模试卷(理)Word版含解析
- 大学生创业基础 - 尔雅
- 2016年6月英语六级真题写作范文3套
- 中国磁性材料纸行业专项调查与发展策略分析报告(2015-2020)
- 云南省2018届高三普通高中学业水平考试化学仿真试卷二Word版缺答案
- 窗函数法设计低通滤波器
- 第三章 绩效考评方法与绩效管理模式
- 高等数学教案
- 个人独资合伙企业习题及答案
- 小学语文沪教版三年级上册第六单元第30课《想别人没想到的》公开课优质课教案比赛讲课获奖教案
- 曳引钢丝绳及其他曳引系统校核计算 - 图文
- 淮阴工学院管理学期末试卷7 - 图文
- 受力分析方法(1)
- 2013-2014学年陕西省西安市西工大附小五年级(上)期末数学试卷及解析
- 副本
- 实验
- 报告
- java
- 财务工作总结结束语
- 建设工程监理行为检查表土建 - 图文
- 华师儿童发展心里学期末整理
- 新锦成2014级学生二年级第一学期就业创业课程考试
- 初中阶段常见的文言文特殊句式有四种:判断句、省略句、被动句、倒装句
- 汽车制动系统的故障诊断与排除
- 2011年高一第一学期数学期中考试
- 人脑秒杀超算 模拟1秒计算需8.3万CPU
- 《熊猫妈妈听电话》教案
- 辽宁石油化工大学研究生学位论文格式的统一要求(含示例)(1)
- 第三师图木舒克市中小学校拟进编教师名单
- 福建省泉州市2017届高三高考考前适应性模拟数学理卷(一)及答案
- 等差等比数列综合练习题
- 算法复习题
- 中考名著《水浒传》(71--80回)练习
- 小学数学后进生转化的研究课题方案
- 2011农业指南(农业科技支撑、食品安全专项)
- 四年级下学期26和29课课堂要点
- PTN技术标准
- 关于阿根廷货币局制度崩溃原因的探讨