[问答题] 下面是一个Applet程序,其功能是分析任意输入的字符串,将字符串中由空格隔开的字串提取并显示出来。要求,窗口中有一个输入文本框,用于接受输入的字符串,一个按钮,点击则开始分析,分析结果用

19 查阅

[问答题] 下面是一个Applet程序,其功能是分析任意输入的字符串,将字符串中由空格隔开的字串提取并显示出来。要求,窗口中有一个输入文本框,用于接受输入的字符串,一个按钮,点击则开始分析,分析结果用图形方式打印在窗口下面的区域中。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。

注意:不改动程序的结构,不得增行或删行。

程序运行结果如下:

import java.awt.*;

import java.applet.*;

import java.util.StringTokenizer;

public class ex27_3 extends Applet

private TextField tf;

private Button btn;

public void init()

tf = new TextField(25);

add(tf);

btn= new Button("分析");

add(btn);

resize(250, 200);

public void paint(Graphics g)

String str = tf.getText();

StringTokenizer st = new StringTokenizer(tf);

int n = 80;

while (!st.hasMoreTokens())

String tem = st.nextToken();

g.drawString(tem, n, 80);

参考答案:

new StringTokenizer(str) St.hasMoreTokens() g.drawString(tem, 80,n)

本题主要考查字符串的分割和Applet图形界面相结合的综合应用。解题关键是熟悉字符串的分割方法,使用 StringTokenizer的对象来对String类的对象进行分割。本题中,第1处,StringTokenizer类的构造方法应该以String类的对象作为入口参数;第2处,判断语句应该是当对象st中还有分割串的时候则继续进行;第3处,drawString()方法的参数第2个表示输出字符串起始位置的横坐标,第3个是纵坐标,如果n作为横坐标,则输出的字符串会发生重叠。

计算机考试