验证回文(递归实现)

 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 }

 

posted @ 2019-09-24 20:01  公鸡不下蛋  阅读(197)  评论(0编辑  收藏  举报