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( )函數來進行讀取,此時只需定義一個變量來判斷讀取位置的移動,使用嵌套來達到與循環相同的效果。