问题 问答题

下面是一个Applet程序,其功能是通过两个文本框获得用户输入两个数,按回车键计算这两个数的商。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
注意:不改动程序的结构,不得增行或删行。
程序运行结果如下:


import java.awt.*;
import java.awt.Event.*;
import java.applet.*;
/*
<applet code="ex14_3.class" width=800 height=400 >
</applet>
*/
public class ex14_3 extends Applet
private TextField tf1,tf2;
private String strAnswer;
public void init()
tf1=new TextField(20);
add(tf1);
tf2=new TextField(20);
add(tf2);
strAnswer="Undefined";

public void paint(Graphics g)
Font f=new Font("TimesRoman",Font.PLAIN, 20);
g.setFont(f);
g.drawString("result:",80,100);
g.drawString(strAnswer,60,150);

public boolean action(Event e, Object o)
String s1=tf1.getText();
String s2=tf2.getText();
try
int n1= String.valueOf(s1);
int n2= String.valueOf(s2);
int out=n1/n2;
strAnswer=Integer.parseInt(out);

catch(NumberFormatException nfe)
strAnswer="error number!";

repaint();
return true;


ex14_3.htm1
<HTML>
<HEAD>
<TITLE>ex14_3</TITLE>
</HEAD>
<BODY>
<applet code="ex14_3.class" width=800 height=400 >
</applet>
</BODY>
</HTML>

答案

参考答案:Integer.parseInt(s1)
Integer.parseInt(s2)
String.valueOf(out)

解析:
本题主要考查Applet窗口和用户自己编写异常处理方法的综合应用。解题关键是能根据实际问题找到异常发生的根源,并依此编写异常处理方法,同时还需要有Applet窗口的基本知识,以及熟悉Applet事件机制。本题中,第一处和第二处错误一样,误用了String类的方法,这里应该是将String类的对象转化为int类型,第三处错误与之前的两个错误相反,应该将int类型的变量out转化为String类的对象。

问答题 案例分析题