java - 为什么我必须输入 str.length()-3 ?请帮忙解释一下

标签 java string

我是编程新手,我不太明白为什么我必须放置 str.length()-3。如果有人可以向我解释它,那就太好了。 返回猫==狗; (使用编码 bat 代码)

public static boolean catDog(String str) {
    int cats = 0;
    int dogs = 0;
    for (int i = 0; i < str.length()-3; i++) {
        if (str.substring(i, i+3).equals("cat"))
            cats += 1;
        if (str.substring(i, i+3).equals("dog"))
            dogs += 1;
    }

最佳答案

我建议阅读 for 循环:http://www.w3schools.com/js/js_loop_for.asp

此迭代器使用第二个值作为循环的分隔符。它告诉循环应该继续循环多长时间。所以在你的例子中,你说的是直到字符串的总长度减 3。

因此,如果 str.length() 的长度为 10,那么您将在 7 处停止,因为 str.length()-3 = = 7 。希望这会有所帮助。

关于java - 为什么我必须输入 str.length()-3 ?请帮忙解释一下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32887605/

相关文章:

c++ - 将自定义字符串放入文件中

java - 在java中将字符串写入输出流

javascript - 如何在 JavaScript 中将字符串转换为整数?

java - 代码复杂的Subject.doAs

python - 如何替换字符串中的 `\n` 而不是 Python 中的 `\n\n`?

java - 编写 Java FTP 服务器

java - 在网格算法中找到机器人的路径

c++ - 在这种情况下,Win32 错误代码 122 是否有点良性?

javascript - 如何在 Eclipse 中将 Prototype JavaScript Framework 添加到 jee/jsp/servlet 项目中?

java - 运行时忽略 While 循环?