回文课堂测试

一,是否是回文检测

package test0923;

import java.util.Scanner;

public class Test0923 {
    static int b=0;
    public static String Palindrome(String a,int b)
    {    if(a.length()==1||a.length()==0||b==a.length()/2||b==(a.length()+1)/2)
        return "palindrome";
        else
            {
                 if(a.charAt(b)!=a.charAt(a.length()-b-1))
                 {return "不是回文";}
                 
                 else
                 {
                     b++;
                 return    Palindrome(a,b);
                 }}}
    public static void main(String[] args) {
    Scanner sr=new Scanner(System.in);
        String c;
        c=sr.next();
b=0;
    System.out.println(Palindrome(c,b));    
}
}

二、测试

 不是回文的例子

只有一个字符

 没有字符

解题思路

1、先写一个String类型的方法,其中的参数就是传入的String类型的a字符串和b来控制其比较的位置。

2、在String类型的方法中第一个先写递归调用的终止条件,我的终止条件是如果长度为1或者0则直接是回文,或者b达到了b==a.length()/2||b==(a.length()+1)/2 这个意味着已经所有的前后已经比较过了,可以确定是个回文。

3、如果没有达到最终的条件,则进行else语句里 的首先判断是否a.charAt(b)!=a.charAt(a.length()-b-1)中两个的字符是否一样,如果不一样直接返回为:“不是回文”,如果两个一样则b++前后位置一个加一个减,然后在调用本身方法进行再一次的比较知道完成 自己的最终条件。

猜你喜欢

转载自www.cnblogs.com/guziteng1/p/11574138.html