Java 忽略 return 语句

标签 java return

每次我运行这段代码(当然不是全部)时,Java 都会到达 println 部分,但不会返回 true 而是 false。所以它肯定会在数组中找到正确的元素,但不会返回它应该返回的位置。希望有人能阻止我...

Token[] ps = new Token[lengthOfArray];

//main function and function call etc

public boolean find(Token token, int index) {
    if (index < ps.length) {
        if (ps[index] == token) {
             System.out.println("Searching at " + index);
             return true;
        } else {
            find(token, index++);
        }
    }
    return false;
}

最佳答案

您正在递归地调用您的方法find。这样,find 的内部调用可能返回 true,但外部 find 将返回 false。

您可能应该将 find(token, index++) 的递归调用更改为

return find(token, index++);

关于Java 忽略 return 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48114341/

相关文章:

java - 如何对元素 b 相等的所有元素 a 求和

java - "Enhancing"CoreNLP 情感分析结果

javascript 无法启动函数或返回结果

c - MSDN 中的返回语句

Javascript 函数在 if 语句中应该为 true 时返回 false?

javascript - 我的构造函数有什么问题

java - Fragment 中的通知管理器

java - java中static的简单使用

java - 尝试对数字列表进行排序时出错

javascript - 在返回函数内延迟一段时间后显示组件