下面是一个Applet程序,其功能是进行整数加法运算,要求有3个文本区域,2个作为输入,一个作为输出,并且有异常处理来判断输入的数字是否符为整型,如果是则进行运算,否则抛出异常并显示于第3个文本区域中。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
注意:不改动程序的结构,不得增行或删行。
程序运行结果如下:
import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;
/*
<applet code="ex17_3.class" width=800 height=400 >
</applet>
*/
public class ex17_3 extends Applet implements ActionListener
TextField tf1 = new TextField(5);
TextField tf2 = new TextField(5);
TextField tf3 = new TextField(5);
Label 11 = new Label("+");
Label 12 = new Label("=");
Button btn= new Button("相加");
public void init()
add(11);
add(tf1);
add(tf2);
add(12);
add(tf3);
add(btn);
btn.addActionListener(this);
public void actionPerformed(ActionEvent ae)
try
int a=Integer.parseInt(tf1.getText());
int b=Integer.parseInt(tf2.getText());
int x = a + b;
tf2.setText(Integer.toString(x));
catch(NumberFormatException nfe)
tf3.setText("error!");
ex17_3.html
<HTML>
<HEAD>
<TITLE>ex17_3</TITLE>
</HEAD>
<BODY>
<applet code="ex17_3.class. width=800 height=400 >
</applet>
</BODY>
</HTML>
参考答案:add(tf1)
add(11)
tf3.setText(Integer.toString(x))
解析:
本题主要考查Applet的编程方法和执行过程,Applet的生命周期和AWT的事件处理模型。解题关键是熟悉上述3个知识点并且能够灵活运用Applet和AWT的基本接口和基本构件。本题中,第一处和第二处应该交换位置,否则Label和TextField的位置次序错误;第三处应该是第三个TextField的对象tf3调用setText()方法,而不是tf2。