一,是否是回文检测
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++前后位置一个加一个减,然后在调用本身方法进行再一次的比较知道完成 自己的最终条件。