第一次实验 字符串的查找与替换
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一、字符串的查找与替换
实验目的:
1.掌握Java中多种布局管理器的使用。
2.掌握字符串的处理,了解StringBuffer类。
3.掌握事件处理程序的写法,学会使用内部类对象监听事件。
实验内容:
1.通过嵌套面板、组合各种布局,构造出一个比较美观、合理的界面。熟练掌握
FlowLayout,GridLayout和BorderLayout的使用。如下图所示:
实验要求:
1. 使用内部类对象实现鼠标事件的监听。
2.考虑用更简单的方法实现字符串的查找与替换算法。
实验指导:
1.使用内部类对象实现鼠标事件的监听。定义主类TextFindReplace,在该主类中
定义内部类MouseL对“Find”、“Replace”、“Exit”三个按钮上的点击事件监听
及处理。程序结构如下所示:
class TextFindReplace extends Frame {
//声明类成员变量
Button btnFind;
Button btnReplace;
Button btnExit;
…
public TextFindReplace(){
//初始化
btnFi nd=new Button(“Find”);
btnReplace=new Button(“Replace”);
btnExit=new Button(“Exit”);
…
//注册事件
MouseL myListener=new MouseL();
btnFind.addMouseListener(myListener);
btnReplace.addMouseListener(myListener);
btnExit.addMouseListener(myListener);
}
class MouseL extends MouseAdapter{
public void mousePressed(MouseEvent e){
//调用字符串的查找与替换方法
}
}
}
2.定义类MatchFun用于实现字符串的查找与替换,该类中主要有二个方法:
方法int strFind(String s1,String s2,int pos) 用于实现字符串的查找,返回s2在s1
中出现的次数。考虑到教材上的实现太复杂,这里给出一种更简单的实现,程
序段如下:
public int strFind(String s1,String s2,int pos)
{ int count=0;
int index=s1.indexOf(s2,pos); //返回从pos处开始首次出现指定字符串s2的索引号while(index>-1)
{ count++;
pos=index+s2.length();
index=s1.indexOf(s2,pos);
}
return count;
}
方法int strReplace(String s1,String s2,String s3,int pos)用于实现字符串的替换操
作,返回替换的次数。考虑到方法strFind 已经实现了查找次数的功能,所以按
下面的方法修改也许会更好:
public String strReplace(String s1,String s2,String s3,int pos){
String bpos;
String apos=s1.substring(pos);
if(pos==0){ bpos=””;}
else{ bpos=s1.substring(0,pos-1);}
apos=apos.replaceAll(s2,s3);
return bpos+apos;
}
3.完成代码并调试,实现字符串的查找有替换。
实验总结:
1.从该例中可以看出,界面的设计往往是通过嵌套多个面板,结合多种布局才能
达到满意的效果。
2.进行Java程序设计时,尽量使用JDK中已经实现的功能,如本例的类MatchFun
中,使用了String类的indexOf()、substring()和replaceAll(),使程序非
常简洁,可读性较好。
3.调试时应该仔细阅读错误提示。