import java.util.Scanner; public class Huiwen { public static void main(String[]args){ System.out.println("请输入需要判断字符串:"); Scanner in = new Scanner(System.in); String str=in.next(); int n=str.length(); int m=huiwen(str,n); if(m==1) System.out.println("这个字符串是回文字符串"); else System.out.println("这个字符串不是回文字符串"); } public static int huiwen(String str,int n){ int a,b,j=0; char c1,c2; a=str.length()-n; //正移 b=str.length()-(a+1); //倒移 c1=str.charAt(a); //取字符 c2=str.charAt(b); //取字符 if(c1==c2||a==b) j=1; //递归 if(a != b && a<b && j==1 ) huiwen(str,n-1); return j; } }
编程思路:按照要求使用递归,鉴于使用循环读取字符串过于复杂,因此采用str.charAt( )函数来进行读取,此时只需定义一个变量来判断读取位置的移动,使用嵌套来达到与循环相同的效果。