临时写的敏感度分析

public class Temp{

public static void main(String[] args) {
String str = "考古现场发掘发现,唐代以上的深黑色淤泥文化层厚度约3.0米," +
"距现地表约时代跨度为宋代至民国时期。淤泥里面遗存大量的水生动" +
"物,如河蚌、螺壳等,还出土了地表的灰陶瓦片和瓷片以及数件豆柄、豆盘" +
"等。此外,这一文化层中还发现灰坑、水沟、道路等遗迹,发现陶盆、“开元通宝”铜钱等。";

String[] key = {"地表","时代","民国"};
int size = 8;
boolean match = false;
match = matchKey(str, key, size);
System.out.println(match);

}
private static boolean matchKey(String summary,String[] key,int size){
boolean match = false;
if(key==null || key.length ==0){
return false;
}

for(int i=0;i<1;i++){
if(summary.contains(key[0]) && key.length==1){
match= true;
return match;
}
if(summary.contains(key[i])){
String[] tmpArray = copyOfRange(key, i+1,key.length-1);
int index = summary.indexOf(key[i]);
int nextIndex = index + key[i].length();
int last = nextIndex + size;
if(last>=summary.length()){
last = summary.length();
}
String afterStr = summary.substring(nextIndex,last);
System.out.println(afterStr);
match = matchKey(afterStr, tmpArray, size);
if(match){
return match;
}
String remain = summary.substring(nextIndex, summary.length());
System.out.println(remain);
match = matchKey(remain, key, size);
if(match){
return match;
}
}
}
return match;

}
public static String[] copyOfRange(String[] original,int from,int to) {
String[] temp = new String[to-from+1];
int t=0;
for(int i= from;i<=to;i++){
String s = original[i];
temp[t] = s;
t++;
}
return temp;
}


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值