package com.hello;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Set;
/*
* @author 张春蕾 2013年10月8
*/
public class HelloJava{
public static Set<String> getSet(String s1,String s2){
ArrayList<String> arr1 = new ArrayList<String>();//用于存放字符串1所截取的所有字符串
ArrayList<String> arr2 = new ArrayList<String>();//用于存放字符串2所截取的所有字符串
Set<String> sets = new HashSet<String>();//用于存放两个字符串都含有的字符串
if(s1 != null &&s2 !=null ){
for(int i=0;i<s1.length();i++){//遍历循环字符串1,对字符串1所有的子字符串进行截取
for(int j=i;j<s1.length();j++){
arr1.add(s1.substring(i,j));
}
}
for(int i=0;i<s2.length();i++){//遍历循环字符串2,对字符串2所有的子字符串进行截取
for(int j=i;j<s2.length();j++){
arr2.add(s2.substring(i, j));
}
}
for(String s3 : arr1){//循环遍历找出两个字符串都含有的子串存入Set容器
if(arr2.contains(s3)){
sets.add(s3);
}
}
}
return sets;
}
public static void main(String[] args){
String s1 = "abcdffffvvvvgssss";
String s2 = "abcgffffvvddddssskkk";
Set<String> set= getSet(s1,s2);
String maxString = "";
int maxLength = 0;
for(String s3 : set){//循环遍历Set容器,找出最大的子字符串
if(maxLength <=s3.length()){
maxString = s3;
maxLength = s3.length();
}
}
System.out.print(maxString);
}
}
输出结果为:ffffvv
分享到:
相关推荐
两个字符串中最大相同的子串。 "qwerabcdtyuiop" "xcabcdvbn
在实际工作中经常遇到截取两个相同字符串之间的字符的oracle问题,以下是相关语句
找出两个字符串之间相同字符算法题可以进行拆分字符串进行比较
判断2个字符串中相同的个数,如果超过4个相同就输出1,否则输出0
在键盘输入两个字符串,相同显示MATCH,不同显示NOMATCH
本文实例讲述了python实现查找两个字符串中相同字符并输出的方法。分享给大家供大家参考。具体实现方法如下: seq1 = spam seq2 = scam res = [] for x in seq1: if x in seq2: res.append(x) print res 输出...
查找两个字符串中连续相同的两个子串
本文实例讲述了JavaScript自定义函数实现查找两个字符串最长公共子串的方法。分享给大家供大家参考,具体如下: //查找两个字符串的最长公共子串 function findSubStr(s1,s2){ var S=sstr= ,L1=s1.length,L2=s2....
java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java ...
求两个字符串的最长公共字符串 输出全部位置信息,并输出字符串,相同字符串先输出所有位置信息在输出字符串 测试平台:XP/VS 2008 CN
字符串提取(获取两个字符串中间的字符串) http://blog.csdn.net/isaced/archive/2011/01/24/6161259.aspx
把两个源字符串分别放在两个文本文件里,再把这两个文本文件放在程序所在目录下,运行时输入两个文件名就可以了.
本文实例讲述了C语言求两个字符串的最长公共子串的方法。分享给大家供大家参考。具体实现方法如下: #include "stdio.h" #include "string.h" #include "stdlib.h" void getCommon(char str1[],char str2[],char * ...
入一个字符,再输入一个以回车结束的字符串(少于80个字符)在字符串中查找该字符。
目的:这个函数参数中的数组array是以\0结束的字符串,要求在字符串array中查找出第一个与参数search给出的字符相同的字符。如果找到,通过第三个参数(pa)返回array字符串中首先碰到的search字符的地址。如果没找到...
C++实现找出两个字符串中最大的公共子串
用途:可用于论文抄袭检测、DNA等。...算法实现思路:通过对一个字符串插入、删除、替换转变成另一个字符串所需要的步骤称为距离,计算两个字符串之间的距离,从而可以得到两个字符串之间的相似度。
找出两个字符串中最大公共子字符串,如"abccade","dgcadde"的最大子串为"cad" 主要用的是矩阵的思想
下面是用C语言实现不使用是strcat 函数实现连接两个字符串的功能。 源代码: #include void constring(char s[],char t[],char q[]); //函数声明 int main(void) { char s[100]; char q[100]; char t[200]; ...
查找两个字符串的最大公共子串,用到指针和函数的知识