思路:1.输入一个字符串;
2.定义一个boolean类型的fase;
3.用j-i来判断字符串需要判断的长度,若等于1或0,则true赋给fase;若不是则判断第一个和最后一个是否相等。如果相等,则用递归方法来判断第二个和倒数第二个。。如果不相等则false赋给fase。
4.最后如果为true则是回文,如果为false则不是回文。
代码:
package 递归; import java.util.Scanner; public class Calculate{ System.out.println("请输入字符串"); static String str=new String(); static boolean fase; Scanner in=new Scanner(System.in); str=in.nextLine(); public static void main(String[] args) { f(0,str.length()-1); if(f(0,str.length()-1)) System.out.println("是回文"); else System.out.println("不是回文"); } public static boolean f(int i,int j) { if((j-i==0)||(j-i==1)) { fase=true; } else { if(str.charAt(i)==str.charAt(j)) f(i++,j--); else fase=false; } } }