欢迎来到天天文库
浏览记录
ID:38675322
大小:21.61 KB
页数:5页
时间:2019-06-17
《实验四Java语言解决算法问题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《Java语言程序设计》实验指导书实验四Java语言解决算法问题(4学时)一、实验目的(1)熟悉Java图形用户界面GUI类;(2)学习处理ActionEvent事件;(3)掌握事件源、监视器、处理事件的接口这三个概念;(4)使用Java语言解决算法问题。二、实验学时:2学时三、实验要求(1)编写一个训练算术能力的测试软件;(2)Teacher类对象给出题目,判断答案是否正确;ComputerFrame类对象提供题目GUI视图;MainClass作为主类。四、实验原理(1)事件源指的是能够产生事件的对象,如文本框、按钮等;(2)监视器
2、指的是对事件源进行监视的对象,以便对发生的事件进行处理;(3)Java语言使用接口回调技术设计了它的处理事件模式。事件源增加监视的方法addXXXListener(XXXListenerlistener)中的参数是一个接口,listener可以引用任何实现了该接口的类所创建的对象,当事件源发生事件时,接口listener立刻回调被类实现的接口中的某个方法。五、实验内容课堂实验任务:请按模板要求,将【代码】替换为Java程序代码。1.题目一算术测试模板代码:Teacher.javapublicclassTeacher{intnumber
3、One,numberTwo;Stringoperator="";booleanright;publicintgiveNumberOne(intn){numberOne=(int)(Math.random()*n)+1;returnnumberOne;}publicintgiveNumberTwo(intn){numberTwo=(int)(Math.random()*n)+1;returnnumberTwo;}publicStringgiveOperator(){doubled=Math.random();if(d>=0.5)oper
4、ator="+";elseoperator="-";returnoperator;}publicbooleangetRight(intanswer){if(operator.equals("+")){if(answer==numberOne+numberTwo)right=true;elseright=false;}elseif(operator.equals("-"))5《Java语言程序设计》实验指导书{if(answer==numberOne-numberTwo)right=true;elseright=false;}retur
5、nright;}}模板代码:ComputerFrame.javaimportjava.awt.*;importjava.awt.event.*;publicclassComputerFrameextendsFrameimplementsActionListener{TextFieldtextOne,textTwo,textResult;ButtongetProblem,giveAnwser;LabeloperatorLabel,message;Teacherteacher;ComputerFrame(Strings){super(s)
6、;teacher=newTeacher();setLayout(newFlowLayout());textOne=【代码1】//创建textOne,其可见字符长是10textTwo=【代码2】//创建textTwo,其可见字符长是10textResult=【代码3】//创建textResult,其可见字符长是10operatorLabel=newLabel("+");message=newLabel("你还没有回答呢");getProblem=newButton("获取题目");giveAnwser=newButton("确认答案")
7、;add(getProblem);add(textOne);add(operatorLabel);add(textTwo);add(newLabel("="));add(textResult);add(giveAnwser);add(message);textResult.requestFocus();textOne.setEditable(false);textTwo.setEditable(false);【代码4】//将当前窗口注册为getProblem的ActionEvent事件监视器【代码5】//将当前窗口注册为giveAnw
8、ser的ActionEvent事件监视器【代码6】//将当前窗口注册为textResult的ActionEvent事件监视器setBounds(100,100,450,100);setVisible(true);vali
此文档下载收益归作者所有