问题 问答题

下面是一个Applet程序,其功能是通过两个文本框获得用户输入的两个数,按回车键计算这两个数的商。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
源程序文件代码清单如下:
import java.awt.*;
import java.awt.Event.*;
import java.applet.*;
/*
<applet code="ex5_3.class"width=800 height=400>
</applet>
*/
public class ex5_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;


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

答案

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

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

单项选择题 A1/A2型题
单项选择题 B1型题