问题 问答题

下面是一个Applet程序,其功能是输入2个字符串,比较两者的长度。要求,窗口中有2个输入区,用于输入字符串,一个按钮点击实现比较,比较结果用绘图方式显示出来。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 程序运行结果如下:

import java.awt.*; import java.applet.*; /* <applet code="ex25_3.class" width=800 height=400 > </applet> */ public class ex25_3 extends Applet{ private TextField tf1; private TextField tf2; private Button btn; private String strOut; public void init(){ Label 1 = new Label("串1:"); add(1); tf1 = new TextField(20); add(tf1); l = new Label("串2:"); add(1); tf2 = new TextField(20); add(tf2); btn = new Button("比较"); add(btn); strOut = " "; resize(250, 200); } public void paint(Graphics g){ g.drawString(strOut, 30,150); } public boolean action(Event e, Object o){ if (o == "btn"){String str1 = tf1.getText();String str2 = tf2.getText(); int result; result = str1.compare(str2);if (result > 0) strOut = "串1种字符数少于串2";else if (result == 0) strOut = "串1和串2长度一样";else strOut = "串1字符数多于串2";repaint ( ); //该方法主要用于applet的重新显示,它调用Update ()方法实现对于Applet的更新。return true; }elsereturn false; } } ex25_3.htm1 <HTML> <HEAD> <TITLE>ex25_3</TITLE> </HEAD> <BODY> <applet code="ex25_3.class" width=800 height=400 > </applet> </BODY> </HTML>

答案

参考答案:

解析:if(o=="比较") result=str1.compareTo(str2) if (result<0) 本题主要考查字符串的基本操作和if语句,以及Applet窗口和图形绘制的综合应用。解题关键是熟悉字符串比较的方法,会用订语句控制程序流程,会使用Applet绘图方法在输出窗口中绘制文字。本题中第1处,事件的对象名称应该是按钮的名称,而不是按钮对象的名称;第2处,熟悉字符串比较的方法名称是compareTo 第3处,如果result小于0则说明 str1字符数少于str2。

填空题
单项选择题