package test;
public class DuiChengString {
/**
* @param args
*/
public static void main(String[] args) {
String str = "idghabcba";
//isSymmetry(str);
System.out.println(isSymmetry(str));
}
public static int find(char ch,String str,int begin,int length) //查找str开始的字符串中第一个ch出现的位置,没找到返回-1
{
for(int i=begin;i<length;i++)
{
// System.out.println("最后的值是:"+i);
System.out.println(ch+"等于"+str.charAt(i));
if(ch == str.charAt(i))
return i;
}
return -1;
}
public static int isSym(String str) //判断一个字符串是否全对称,0对称,-1不对称
{
for(int i=0;i<str.length()/2;i++)
{
if(str.charAt(i) != str.charAt(str.length()-i-1))
return -1;
}
return 0;
}
public static String isSymmetry(String str )//返回原字符串长度表示全部对称,-1表示无对称,其他值表示局部对称起始位置
{
if(isSym(str)==0){
return str;
}
int begin=0,end;
char ch;
for(int i=0;i<str.length();i++)
{
ch = str.charAt(i);
begin = end = i;
// System.out.println("begin的值是"+begin);
while((begin=find(ch,str,begin+1,str.length())) != -1)
{
String s = str.substring(i,begin+1);
System.out.println("s是:"+s);
if(isSym(s) == 0)
return s;
}
}
return null;
}
}