java 递归调用 java递归调用的次数统计

发布时间:2023-05-17 11:41:45

本文主要介绍Java中通过Stringg的递归方法.charat和String.length计算字符串中某个字符的出现次数和相关示例代码的方法。

1、使用String.charAt()实现substring()
public class Main {    public static void main(String[] args) {        System.out.println(numberOf("https://www.cjavapy.com", 'a'));    }    static int numberOf(String text, char characterToCount) {        if (text.isEmpty()) {            return 0;        }        if (text.charAt(0) == characterToCount) {            return numberOf(text.substring(1), characterToCount) + 1;        }        return numberOf(text.substring(1), characterToCount);    }}
2、使用String.length()和String.charAt()实现
public class Main {    public static void main(String[] args) {        System.out.println(numberOf("https://www.cjavapy.com", 'a'));    }    static int numberOf(String text, char ch) {        if (ch >> 8 >= text.length()) {            return 0;        }        if (text.charAt((ch >> 8)) == (ch & 0xff)) {            return numberOf(text, (char)(ch + 256)) + 1;        }        return numberOf(text, (char)(ch + 256));    }}

或者

public class Main {    public static void main(String[] args) {        System.out.println(numberOf("https://www.cjavapy.com", 'a'));    }    static int numberOf(String text, char characterToCount) {        return helper(text, characterToCount, 0);    }    static int helper(String text, char charToCount, int index) {        if (text.isEmpty() || index == text.length()) return 0;        int countCharOnRight = helper(text, charToCount, index+1);        return (text.charAt(index) == charToCount) ? 1 + countCharOnRight : countCharOnRight;    } }

上一篇 java多模块热部署 多模块项目部署
下一篇 java对于mrcp的封装 java封装的好处

文章素材均来源于网络,如有侵权,请联系管理员删除。

标签: Java教程Java基础Java编程技巧面试题Java面试题