|
这个题目不难,我写一个给你,简单的,你自己再看情况添加一些方法
public class TextFinder {
//在text中搜索keyword 指定的文字。不区分大小写。找到返回true
boolean find(String text, String keyword) {
boolean result=true;
int fromIndex = 0;
int index=0;
while(keyword.indexOf("-", fromIndex)!=-1) {
index= keyword.indexOf("-", fromIndex);
fromIndex=index;
// 如果字符串后面没有+,则全部截断“-”后的字符串
if(keyword.indexOf("+", fromIndex)==-1){
keyword=keyword.substring(0, index);
break;
}
else {
index= keyword.indexOf("+", fromIndex); //从fromIndex开始,包括fromIndex
keyword=keyword.substring(0, fromIndex)+keyword.substring(index);
}
}
String key[] = keyword.trim().toLowerCase().split("[+]+");
System.out.print("您想要搜索的关键字是: ");
for(String str: key)
System.out.print(str+" ");
System.out.println(" ");
for(String str: key) {
if(!text.toLowerCase().contains(str)) {
System.out.println(str+"不在文本中");
result=false;
}
}
return result;
}
public static void main(String[] args) {
TextFinder tf= new TextFinder();
boolean b=tf.find("computerjavaABCDFGH", "computer+java-C+d-g-f+Z");
System.out.println(b);
}
} |
|