我这个方法的好处是,从大到小来找,找到了就可以直接退出循环,不需要遍历完所有的情况。

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNext()) {
            String line = in.nextLine();
            int length = line.length();
            String result = "";
            //第一次循环,控制每次递减的字符串长度
            for (int i = 0; i < length; i++) {
                int subLength = length - i;
                //第二次循环,控制每次截取的开始下标,下标小于等于扣减的字符串数量
                for (int j = 0; j <= i; j++) {
                    String substring = line.substring(j, j + subLength);
                    if (isHuiWen(substring)) {
                        result = substring;
                        break;
                    }
                }
                if (!result.equals("")) {
                    break;
                }
            }
            System.out.println(result.length());
        }
    }

    public static boolean isHuiWen(String subLine) {
        StringBuilder stringBuilder = new StringBuilder(subLine);
        stringBuilder.reverse();
        return stringBuilder.toString().equals(subLine);
    }
}