问题 问答题

下面是一个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;

else
return 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。

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