综合应用题下面是一个Applet程序,其功能是通过两个文本框获得用户输入两个数,按回车键计算这两个数的商。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。程序运行结果如下图:
import java.awt.*;import java.awt.Event.*; import java.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.html
参考答案:Integer.parseInt(s1)Integer.parseInt(s2)String.valueOf(out)
解析:本题主要考查Applet窗口和用户自己编写异常处理方法的综合应用。解题关键是能根据实际问题找到异常发生的根源,并依此编写异常处理方法,同时还需要有Applet窗口的基本知识,以及熟悉Applet事件机制。本题中,第一处和第二处错误一样,误用了String类的方法,这里应该是将String类的对象转化为int类型,第三处错误与之前的两个错误相反,应该将int类型的变量out转化为String类的对象。