利用递归的方法判断“回文”的小程序

回文指的是一段正向读反向读都一样的字符串,如“12321”;下面是一个用于判断字符串是否回文的java小程序

代码如下:


import java.util.Scanner;

public class trr{
static int length,z=1;
static Scanner input =new Scanner(System.in);

public static void main(String args[]) {
String s;
s=input.next();
if(sa(s))System.out.println("是回文");
else System.out.println("不是回文");



}
static public boolean sa(String s)
{

//判断字符串长度是否为1或0,是的话返回true
if(s.length()==0||s.length()==1) {return true;}
else

//判断字符串首尾是否相同
if(s.substring(0, 1).equals(s.substring(s.length()-1, s.length())))
{

//将字符串去头去尾调用sa函数
if(sa(s.substring(1, s.length()-1)))return true;
else return false;


}
else return false;

}
}

 输入输出结果截图

 设计思路:运用递归思想。对字符串进行首尾字符是否相等判断,相等则去头去尾,再次进行头尾判断,若字符串长度已经为0或1则直接返回true;只有在子字符串判断后返回true,当前函数体才会返回true,否则直接返回false,这样一来若字符串中某个对称位置上字符不相同,则最终就会返回false;

日期 开始时间 结束时间 中断时间 净时间 活动 备注
9.23 16:20 16:23     构思程序  
9.23 16:23  16:28     查询学习可能需要的函数

子字符串截取函数:String.substring(int 初始位置,int 结束位置);

返回字符串长度:int String.length()

9.23  16:28 16:40     初步编写程序  
9.23 16:40 16:50     调试更改程序并完成程序  
原文地址:https://www.cnblogs.com/liuleliu/p/11585366.html