• 下面是一个Applet程序,其功能是对输入的字符串进行抽取。要求给出抽取的子串在母串中的起始和终止位置,输出抽取出来的子串。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
    注意:不改动程序的结构,不得增行或删行。
    程序运行结果如下:
    import java.awt.*;
    import java.applet.*;
    public class ex26_3 extends Applet{
    TextField tf1;
    TextField tf2;
    TextField tf3;
    Button btn;
    String strResult;
    public void init(){
    Label 1 = new Label("字符串: ");
    add(l);
    tf1 = new TextField(20);
    add(tf1);
    l = new Label ("开始位置: ");
    add(l);
    tf2 = new TextField(5);
    add(tf2);
    l = new Label ("结束位置:");
    add(l);
    tf3 = new TextField(5);
    add(tf3);
    btn = new Button("抽取");
    add(btn);
    strResult = " ".
    resize(250, 200);
    }
    public void paint(Graphics g){
    g.drawString("选中的子串为:", 80, 140);
    g.drawString(strResult, 80, 140);
    }
    public boolean action(Event e, Object o){
    if (o == "抽取") {
    try{
    String str1 = tf1.getText();
    String str2 = tf2.getText();
    String str3 = tf3.getText();
    int from = Integer.parseInt(str2);
    int to = Integer.parseInt(str1);
    strResult = str1.substring(from, to-1);
    }
    catch( StringIndexOutOfBoundsException se){
    strResult="字符索引越界!";
    }
    repaint ( );
    return true;
    }
    else
    return false;
    }
    }
    ex263, htm1
    <HTML>
    <HEAD>
    <TITLE>ex26_3</TITLE>
    </HEAD>
    <BODY>
    <applet code="ex26_3.class" width=800 height=400 >
    </applet>
    </BODY>
    </HTML>

    正确答案:g.drawString(strResult     80     160)     to=Integer.parseInt(str3)     strResult=str1.substring(from     to)g.drawString(strResult,     80,     160)     to=Integer.parseInt(str3)     strResult=str1.substring(from,     to) 解析:本题主要考查字符串的取子串操作和Applet图形绘制以及Applet窗口的设计等。解题关键是熟悉字符串的操作
  • 2021年07月16日 21时58分来自  问答库 >> 计算机类
  • 评论 0
  • 手机玩微博

    手机版 手机端
    Powered by 日新微博 © 2018 - 2020 日新网