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

admin2009-01-15  63

问题 下面是一个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);
            n += 20;
         }
      }
      public boolean action(Event e, Object o){
         if (o == "分析") {
            repaint();
            return true;
         }
         else
            return false;
      }
    }
    ex27_3.html
    <HTML>
    <HEAD>
      <TITLE>ex27_3</TITLE>
    </HEAD>
    <BODY>
    <applet code="ex27_3.class" width=800 height=400
    </applet>
    </BODY>
    </HTML>

选项

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

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

相关试题推荐
最新回复(0)