【问题标题】:the method says "should return an integer" [duplicate]该方法说“应该返回一个整数”[重复]
【发布时间】:2015-07-21 14:57:07
【问题描述】:

错误是它说该方法应该返回一个整数。 我已经使用 else 语句返回了它!那为什么会出错呢?

int pop()
        {   
            if(tos<0)
            {
                System.out.println("stack underflow");
                tos=-1;
            }
            else
                return stack[tos];
        }

【问题讨论】:

  • 下次请确保您的示例完整并可以编译。
  • 你认为一个整数总是会返回,但编译器不知道这一点。当你编码逻辑进入if statement时没有返回方法。
  • ^ 你只在 else 中返回,从不在 if 中返回。

标签: java


【解决方案1】:

您不会在所有控制路径上都返回整数。

Java 明确禁止这样做。

tos=-1;之后需要返回一些东西,或者抛出异常。

【讨论】:

    【解决方案2】:

    如果方法进入if,它永远不会去else,也不会返回任何东西。

    【讨论】:

    • 谢谢!!!答:我也应该在 IF 语句中使用 return 语句!愚蠢的错误!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-06
    • 2020-01-01
    相关资源
    最近更新 更多