zoukankan      html  css  js  c++  java
  • 用递归方式判断字符串是否是回文

    题目要求:使用递归方式判断某个字串是否是回文( palindrome )回文”是指正着读、反着读都一样的句子。比如“我是谁是我”

    设计思想:首先能实现可输出任意字符串,然后定义返回值数据类型,判断递归结束条件的方法是在递归函数中通过将字符串转换为数组的方法来判断字符串中首尾位置是否相同,以此类推直到整个字符串判断完。

    代码:

    package digui;
    
    import java.util.Scanner;
    
    public class Palindrome {
        static  Scanner sc=new Scanner(System.in);
        public static void main(String[] args) {
        System.out.print("请输入一个字符串:");
        String str=sc.next();     //输入一个想要判断的字符串
        boolean mm=find(str,0,str.length());
        System.out.println(mm);
        }
        private static boolean find(String str,int n1,int n2) {
            if(n2<=1)           //判断递归结束条件
                return true;
            else if(str.toCharArray()[n1]==str.toCharArray()[n2-1]){    //判断递归结束条件
                return find(str,n1+1,n2-1);
            }
         return false;
    }
    }
    运行结果:
    请输入一个字符串:我爱你爱我
    true

    编程总结分析:

    在这道题中体现了递归的思想,即每个递归函数的开头一定是判断递归结束条件是否满足的语句(一般是if语句);函数体一定至少有一句是“自己调用自己”的。每个递归函数一定有一个控制递归可以终结的变量(通常是作为函数的参数而存在)。每次自己调用自己时,此变量会变化(一般是变小),并传送给被调用的函数。

  • 相关阅读:
    【oracle】约束之非空约束
    【oracle】操作表数据之修改和删除
    【oracle】操作表中的数据之添加
    HashMap和HashTable的比较
    java集合类-总纲
    性能测试工具篇(开源&商业)
    比较好的idea工具介绍
    根据mysql某一条记录生成对应实体类的初始化
    Spring+mybatis多数据源切换笔记
    Jmeter的Throughput和平均响应时间计算方法整理
  • 原文地址:https://www.cnblogs.com/MoooJL/p/11581435.html
Copyright © 2011-2022 走看看