JAVA两个字符串截取相同的最长子字符串
2016-05-08 22:21
351 查看
题目:
Java中字符串,比较两个不同的字符串,取出其中相同的子串
String a ="abcdef";
String b ="fgbcdemk";
System.out.println("Max String is ="+SubString.getMaxSubString(a, b));
比较如下,思路:
1、根据长短,赋予两个字符串
2、截取子串,从一个变量开头,一个变量从结尾开始,到中间相遇后停止
3、截取子串后,在另一个串中进行比较
4、最大子串赋予返回变量
public static String getMaxSubString(String str1,String str2){
String maxStr ="";
String str = (str1.length()>str2.length())?str1:str2;
String key = str.equals(str1)?str2:str1;
for(int i=0;i<key.length();i++){
for(int j=key.length();j>i && j>0;j--){
String temp = key.substring(i, j);
if(str.indexOf(temp)!=-1 && maxStr.length()<temp.length()){
maxStr = temp;
}
}
}
return maxStr;
}
Java中字符串,比较两个不同的字符串,取出其中相同的子串
String a ="abcdef";
String b ="fgbcdemk";
System.out.println("Max String is ="+SubString.getMaxSubString(a, b));
比较如下,思路:
1、根据长短,赋予两个字符串
2、截取子串,从一个变量开头,一个变量从结尾开始,到中间相遇后停止
3、截取子串后,在另一个串中进行比较
4、最大子串赋予返回变量
public static String getMaxSubString(String str1,String str2){
String maxStr ="";
String str = (str1.length()>str2.length())?str1:str2;
String key = str.equals(str1)?str2:str1;
for(int i=0;i<key.length();i++){
for(int j=key.length();j>i && j>0;j--){
String temp = key.substring(i, j);
if(str.indexOf(temp)!=-1 && maxStr.length()<temp.length()){
maxStr = temp;
}
}
}
return maxStr;
}
相关文章推荐
- 20145232 韩文浩 《Java程序设计》第10周学习总结
- 20145303刘俊谦 《Java程序设计》第十周学习总结
- 20145322《Java程序设计》第5次实验报告
- java异常机制
- 20145322《Java程序设计》第十周学习总结
- JAVA8 Lambda表达式完全解析
- 《Java程序设计》实验5
- 20145307第十周JAVA学习报告
- 20145310《Java程序设计》第5次实验报告
- 20145310 《Java程序设计》第10周学习总结
- 《Java程序设计》第10周学习总结
- java实验五20145204
- Struts2中action接收参数的三种方法及ModelDriven跟Preparable接口结合JAVA反射机制的灵活用法
- 20145201《Java程序设计》第五次实验报告
- Java中的equals和hashCode方法详解
- 20145302张薇《Java程序设计》实验五报告
- Java 第十周学习总结
- java中关于目录树的简单实现
- Java 学习日志1.2 基本数据类型与命名规范。
- 20145204《Java程序设计》第10周学习总结