下面是一个Applet程序,其功能是接收用户输入的两个整数,比较它们的大小,并在用户按下“比较”按钮后,将Applet中的显示的“请先输入两个待比较的整数”,改为“两个整数中最大值:x”,x是两个数中的最大值。请改正程序中的错误(有下划线的语句)并将程序填写完整,使程序能输出正确的结果。
注意:不改动程序结构,不得增行或删行。
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class FindMax extends Applet______
Label result;
TextField in1,in2;
Button btn;
int a=0,b=0,max;
public void int()
result=new Label(“请先输入两个待比较的整数”);
in1=new TextField(5);
in2=new TextField(5);
btn=new Button("比较");
add(in1);
add(in2);
add(btn);
add(result);
btn.addActionListener(this);
Public void actionPerformed(ActionEvent e)
a=in1;
b=in2;
if(a>b)
max=a;
else
max=b;
btn.setText(“两个数中最大值:”+max);
Findmax.html:
<HTML>
<HEAD>
<TITLE>A Simple Program</TITLE>
</HEAD>
<BODY>
<applet code="FindMax.class"width=800 height=400>
</applet>
</BODY>
</HTML>
参考答案:implement ActionListener
将a=in1;改为a=Integer.parseInt(in1.getText());
将b=in2;改为b=Integer.parseInt(in2.getText());
将btn.setText(“两个数中最大值:”+max);改为result.setText("两个数中最大值:"+max);
解析:[讲解] 本题考查文本框、Applet操作和事件处理。按钮可以引发动作事件,当用户单击一个按钮时就引发了一个动作事件,希望相应按钮引发的动作事件的程序必须把按钮注册给实现了ActionListener接口的动作事件监听者。 因此,第1空应该填入的是implement ActionListener。为了接收用户输入的两个整数,需要获得文本框的内容,并将其转化为整数。而a=in1;b=in2;两个赋值语句直接将文本框对象等同于整数,不能得到正确的结果。这两句应该改为a=Integer.parseInt(in1.getText());b=Integer.parseInt(in2.getText());,其中,getText()获得文本框的内容,返回字符串。而Integer.parseInt(String)将字符串对象转换为整数。另外,根据题意,是要在Applet上的“请先输入两个待比较的整数”改为“两个整数中最大值:x”。其中前一个引号中的话是显示在标签中的,因此btn.setText("两个整数中最大值:x"+max);中的操作对象有误,应该将按钮对象btn改为标签对象result。