JAVA课堂题目--递归来判断回数

package class20190923;

import java.util.Scanner;

public class Classtext {
    private static int n=0;
    private static String str1,str2;
    public static void main(String[] args) {
        String str1,str2;
        Scanner sc = new Scanner(System.in);
        str1=sc.nextLine();
        if(str1.length()==1||str1.length()==0)
            System.out.println("yes");
        else {
                pd1(str1,n);    
        }
    }
    public static void pd1(String str,int x) {
        n=x;
        if(n==(str.length()/2)||n==((str.length()+1)/2))
        {
            System.out.println("yes");
            return ;
        }
        else if(str.charAt(n)==str.charAt(str.length()-n-1))
        {
            pd1(str,n+1);
        }
        else if(str.charAt(n)!=str.charAt(str.length()-n-1))
        {
            System.out.println("no");
            return ;}

    }
}

运行结果

 

 

 

 

 

 

 

 

 

 设计思路:

利用递归,首先判断运行次数,如果运行了相应次数,则说明是回数,输出yes并返回空,如果在未达到次数时,遇到相对应的位置不相等的情况,则说明不是回数,输出no并返回空。

posted @ 2019-09-23 18:57  Nevesettle  阅读(523)  评论(0编辑  收藏  举报