首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java字符串函数

Java字符串函数
EN

Stack Overflow用户
提问于 2011-05-15 21:37:10
回答 4查看 1.1K关注 0票数 0

描述以下两个功能,以及它们是否执行相同的任务-

代码语言:javascript
复制
public int Jane1(String input, char aChar) {
    int count = 0;
    int index = input.indexOf(aChar);
    while (index >= 0) {
        count++;
        index = input.indexOf(aChar, index + 1);
    }
    return count;
}

public int Jane3(String input, char aChar) {
    int index = input.indexOf(aChar);
    if (index < 0) return 0;
    return Jane3(input.substring(index + 1), aChar) + 1;
}

我认为他们不会执行相同的任务,但我不确定原因。Jane3函数使用递归调用返回字符串输入的长度,其中as Jane1返回字符串的长度。努力弄清楚返回子字符串(我认为这是一个字符串结果)和索引之间的区别?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-05-15 21:57:52

它们都执行相同的任务。计算aCharinput中出现的次数。第一个使用indexOf的重载版本和一个循环来实现结果。第二个版本将在第一次出现aChar时拆分输入,并在第二个版本中递归调用自己。结果是一个整数(如果没有发生,则为0,或者1+字符在第二部分中被发现的次数)。

PS:为什么你不写一个主类,为不同的输入运行/调试这两个方法呢?这是最好的学习方法。

票数 1
EN

Stack Overflow用户

发布于 2011-05-15 21:46:32

两者都显示相同的输出:

  1. Way 1
  2. Way 2

PS :您尝试运行代码并使用o/p ?进行检查

票数 1
EN

Stack Overflow用户

发布于 2011-05-15 21:58:38

Jane1使用while循环,而Jane3使用递归。这应该是一个很好的开始。两者都返回一个字符在字符串中出现的次数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6008707

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档