




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java语言程序设计实验指导书实验四Java语言解决算法问题(4学时)一、实验目的(1)熟悉Java图形用户界面GUI类;(2)学习处理ActionEvent事件;(3)掌握事件源、监视器、处理事件的接口这三个概念;(4)使用Java语言解决算法问题。 二、实验学时:2学时三、实验要求(1)编写一个训练算术能力的测试软件;(2)Teacher类对象给出题目,判断答案是否正确;ComputerFrame类对象提供题目GUI视图;MainClass作为主类。四、实验原理(1)事件源指的是能够产生事件的对象,如文本框、按钮等;(2)监视器指的是对事件源进行监视的对象,以便对发生的事件进行处理;(3)Java语言使用接口回调技术设计了它的处理事件模式。事件源增加监视的方法addXXXListener(XXXListener listener)中的参数是一个接口,listener可以引用任何实现了该接口的类所创建的对象,当事件源发生事件时,接口listener立刻回调被类实现的接口中的某个方法。五、实验内容课堂实验任务:请按模板要求,将【代码】替换为Java程序代码。1题目一 算术测试模板代码:Teacher.javapublic class Teacher int numberOne,numberTwo; String operator=; boolean right; public int giveNumberOne(int n) numberOne=(int)(Math.random()*n)+1; return numberOne; public int giveNumberTwo(int n) numberTwo=(int)(Math.random()*n)+1; return numberTwo; public String giveOperator() double d=Math.random(); if(d=0.5) operator=+; else operator=-; return operator; public boolean getRight(int answer) if(operator.equals(+) if(answer=numberOne+numberTwo) right=true; else right=false; else if(operator.equals(-) if(answer=numberOne-numberTwo) right=true; else right=false; return right; 模板代码:ComputerFrame.javaimport java.awt.*;import java.awt.event.*;public class ComputerFrame extends Frame implements ActionListener TextField textOne,textTwo,textResult; Button getProblem,giveAnwser; Label operatorLabel,message; Teacher teacher; ComputerFrame(String s) super(s); teacher=new Teacher(); setLayout(new FlowLayout(); textOne=【代码1】 /创建textOne,其可见字符长是10 textTwo=【代码2】 /创建textTwo,其可见字符长是10 textResult=【代码3】 /创建textResult,其可见字符长是10 operatorLabel=new Label(+); message=new Label(你还没有回答呢); getProblem=new Button(获取题目); giveAnwser=new Button(确认答案); add(getProblem); add(textOne); add(operatorLabel); add(textTwo); add(new Label(=); add(textResult); add(giveAnwser); add(message); textResult.requestFocus(); textOne.setEditable(false); textTwo.setEditable(false);【代码4】/将当前窗口注册为getProblem的ActionEvent事件监视器 【代码5】/将当前窗口注册为giveAnwser的ActionEvent事件监视器 【代码6】/将当前窗口注册为textResult的ActionEvent事件监视器 setBounds(100,100,450,100); setVisible(true); validate(); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); ); public void actionPerformed(ActionEvent e) if(【代码7】) /判断事件源是否是getProblem int number1=teacher.giveNumberOne(100); int number2=teacher.giveNumberTwo(100); String operator=teacher.givetOperator(); textOne.setText(+number1); textTwo.setText(+number2); operatorLabel.setText(operator); message.setText(请回答);textResult.setText(null); if(【代码8】) /判断事件源是否是giveAnwser String answer=textResult.getText(); try int result=Integer.parseInt(answer); if(teacher.getRight(result)=true) message.setText(你回答正确); else message.setText(你回答错误); catch(NumberFormatException ex) message.setText(请输入数字字符); textResult.requestFocus(); validate(); 模板代码:MainClass.javapublic class MainClass public static void main(String args) ComputerFrame frame; frame=【代码9】/创建窗口,其标题为:算术测试 题目二 稀疏矩阵如果在矩阵中,多数的元素为0,称此矩阵为稀疏矩阵(sparse matrix)。在这里介绍的方法较为简单,数组只储存矩阵的行数、列数与有数据的索引位置及其值,在需要使用矩阵数据时,再通过程序运算加以还原,例如矩阵数据如下 ,其中0表示矩阵中该位置没有数据:0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 6 0 0 0 0 9 0 0 0 0 0 0 0 12 0这个矩阵是5*6矩阵,非零元素有4个,要使用的数组第一列记录其列数、行数与非零元
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 棉花纤维质量分析工艺考核试卷及答案
- 浆料复卷工艺考核试卷及答案
- 芳烃抽提装置操作工突发故障应对考核试卷及答案
- 聚氨酯弹性层施工规范考核试卷及答案
- 信息技术考试试题及答案
- 信息技术发展试题及答案
- 中医诊断学基础知识点试题测试卷
- 银行债券笔试题库及答案
- DB33-T 1261-2021 全装修住宅室内装修设计标准 附条文说明
- 银行写作试题及答案
- 人力资源知识竞赛题库及答案
- 地铁轨道安全培训报道课件
- 2025年征信题库及答案
- 传染病及其预防(第一课时)课件-2025-2026学年人教版生物八年级上册
- (2025秋新版)二年级上册道德与法治全册教案
- 老挝药品注册管理办法
- 2025年社工工作者考试真题及答案
- 建设工程项目协同作业方案
- 同城理发店转租合同范本
- 问题解决策略:反思 课件 北师大版数学八年级上册
- 2025年国防竞赛题库及答案
评论
0/150
提交评论