简单的字符串问题(问题有点诡异)
先看代码:
public class Test21{
public static void main(String args[]){
String str1 = "dfjdfio";
String str2 = "dhyfjgdsy";
String tmp1[] = new String[100];
String tmp2[] = new String[100];
int a = 0;
int b = 0;
int total=0;
//求str1的所有子串
for(int i=0;i<str1.length();i++)
{
for(int j=i;j<str1.length();j++)
{
tmp1[a++] = str1.substring(i,j+1);
}
}
//求str2的所有子串
for(int i=0;i<str2.length();i++)
{
for(int j=i;j<str2.length();j++)
{
tmp1[b++] = str2.substring(i,j+1);
}
}
//找出共同的子串
for(int i=0;i<a-1;i++)
{
for(int j=0;j<b-1;j++)
{
if(tmp1[i].equals(tmp2[j]))
{
total++;
System.out.println("第"+total+"个共同的子串为:"+tmp1[i]);
}
}
}
}
}
///////////////////////////////////////////////
字符串数组比较的时候始终为false,看不出是什么原因。
------解决方案--------------------
//求str2的所有子串
for(int i=0;i<str2.length();i++)
{
for(int j=i;j<str2.length();j++)
{
tmp1[b++] = str2.substring(i,j+1);
}
}
应该是tmp2吧,复制的时候请仔细