public class Substring {
public static void main(String[] args) {
String s1="abractyeyt";
String s2="dgdsaeactyey";
String s4="";
for(int i=0;i<s1.length();i++){
for(int j=i+1;j<s1.length();j++){
String s3=s1.substring(i, j);
if(s2.indexOf(s3)==-1){
break;
}else{
s4=s3;
}
}
}
System.out.println(s4);
}
}
找出s1与s2得最大字串(actyey)
我编写的程序为什么只打印了个y?
帮忙看看!
public static void main(String[] args) {
String s1="abractyeyt";
String s2="dgdsaeactyey";
String s4="";
for(int i=0;i<s1.length();i++){
for(int j=i+1;j<s1.length();j++){
String s3=s1.substring(i, j);
if(s2.indexOf(s3)==-1){
break;
}else{
s4=s3;
}
}
}
System.out.println(s4);
}
}
找出s1与s2得最大字串(actyey)
我编写的程序为什么只打印了个y?
帮忙看看!
public class Substring {
public static void main(String[] args) {
String s1="abractyeyt";
String s2="dgdsaeactyey";
String s4="";
for(int i=0;i <s1.length();i++){
//这里应该是j <=s1.length()
for(int j=i+1;j <=s1.length();j++){
String s3=s1.substring(i, j);
if(s2.indexOf(s3)==-1){
break;
}else{
if(s3.length() > s4.length) //这里比较这次匹配的字符串长度和以前匹配的最大字符串
s4=s3;
}
}
}
System.out.println(s4);
}
}
public class Substring2 {
public static void main(String[] args) {
String s1="abractyeyt";
String s2="dgdsaeactyey";
String s4="";
for(int i = 0; i < s1.length(); i++){
for(int j = i + 1; j < s1.length(); j++){
if(s2.indexOf(s1.substring(i,j)) != -1){
if(s4.length() < s1.substring(i,j).length())
s4 = s1.substring(i,j);
continue;
}
else
break;
}
}
System.out.println(s4);
}
} 你找最长的肯定要先判断下长度了
public static void main(String[] args) {
String s1="abractyeyt";
String s2="dgdsaeactyey";
String s4="";
for(int i = 0; i < s1.length(); i++)
{
for(int j = s1.length(); j>i ; j--)
{
if(s2.indexOf(s1.substring(i,j)) != -1)
{
if(s4.length() < s1.substring(i,j).length())
s4 = s1.substring(i,j);
break;
}
}
}
System.out.println(s4);
}
}
这样也行
import java.util.ArrayList;
import java.util.List;
public class Substring {
public static void main(String[] args) {
String s1="abractyeyt";
String s2="dgdsaeactyey";
List <String> list = new ArrayList <String> ();//可变数组的实现
String max="";
for(int i=0;i<s1.length();i++){
for(int j=i+1;j<s1.length();j++){
String s3=s1.substring(i, j+1);
if(s2.indexOf(s3)==-1)
break;
else
list.add(s3);
}
}
max=list.get(0);
for(int i=1;i<list.size();i++){
if(list.get(i).length()>max.length()){
max=list.get(i);
}
}
System.out.println(max);
}
}
return "abractyeyt">"dgdsaeactyey"?"abractyeyt":"dgdsaeactyey"
就可以得出最大的字符串