码迷,mamicode.com
首页 > 其他好文 > 详细

递归方法

时间:2018-10-14 23:10:55      阅读:264      评论:0      收藏:0      [点我收藏+]

标签:col   rgs   on()   判断   main   调用   scanner   字符   character   

使用递归方式判断某个字串是否是回文( palindrome );

public static void main(String[] args) {
    System.out.println("please input a string of Characters:");
    Scanner input=new Scanner(System.in);
    String str=input.nextLine();
    input.close();
    int n=0;
    int m=str.length()-1;
    //boolean p= huiWen(str,n,m);
    if(huiWen(str,n,m))
    System.out.println("这个字符串是回文字符串");
    else
    System.out.println("这个字符串不是回文字符串");
    }
    
    public static boolean huiWen(String str,int n,int m){
        if(n > m)
            throw new IllegalArgumentException();
        if(n == m)
            return true;
        else{
            return (str.charAt(n) == str.charAt(m)) && huiWen(str,n+1,m-1);
        }


    }

思路:

先定义一个判断回文的方法,先得到字符串的长度,利用charAt方法去比较第一个和最后一个字符,如果一样,前一个向后移一位,后一个向前移一位,再比较;如此下去,直到前一个等于后一个;

在主方法中调用这个方法,进行判断;

问题:

只能判断字符个数为奇数的字符串,偶数的出现问题;

递归方法

标签:col   rgs   on()   判断   main   调用   scanner   字符   character   

原文地址:https://www.cnblogs.com/KYin/p/9788364.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!