递归方式判断某个字串是否是回文
设计思想:定义一个字符串,比较字符串的首位,和末尾位是否相同,然后在比较第二位和倒数第二位是否相同,相同输出是回文,不相同输出不是回文。
代码:
package fangfa;
import java.util.Scanner;
public class palindrome {
public static void main(String args[]){
Scanner input = new Scanner(System.in);
String str = input.nextLine(); //输入一个字符串
if(isPalindrome(str,0)){
System.out.println("字符串 " + str + "是回文串");
}else{
System.out.println("字符串 " + str +"不是回文串");
}
}
public static boolean isPalindrome(String str,int index){
// System.out.println(str.charAt(0) + " " + str.charAt(str.length() - 1));
if(str.charAt(0) == str.charAt(str.length() - 1)){
if(str.length() > 2){
return isPalindrome(str.substring(index+1,str.length()-1),0);
}else return true;
}else return false;
}
}
结果:
分析:通过这道题,学到了很多,字符串定义,charAt()函数的使用。