验证回文(递归实现)
1 package Test; 2 3 import java.util.*; 4 5 public class TestPalindrome { 6 static String str; 7 static Scanner in=new Scanner(System.in); 8 static boolean flag; 9 public TestPalindrome() { 10 // TODO Auto-generated constructor stub 11 } 12 public static boolean handle(int n) //定义判断回文方法 13 { 14 if(n==-1||n==0) //退出循环分支 15 flag=true; 16 else if(str.charAt(str.length()-1-n)==str.charAt(n)) //判断两字符是否相等 17 { 18 if(handle(n-1)) //如果下次两字符相等,进行下次递归判断 19 flag=true; 20 } 21 else flag=false; //如果两字符不相等,则flag=false 22 return flag; 23 } 24 public static void main(String[] args) { 25 // TODO Auto-generated method stub 26 27 str=in.next(); //获取一个字符串 28 if(handle((str.length()-1)/2)) //判断是否为回文 29 System.out.println("该字符串是回文"); 30 else System.out.println("该字符串不是回文"); 31 } 32 33 }