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; } }