public double open() {
    if (status.equalsIgnoreCase("Pending")) {
        status = "Open";
        if (startPrice <= 5) {
            return 0.2;
        } else if (startPrice > 5 && startPrice <= 20) {
            return 0.5;
        } else if (startPrice > 20 && startPrice <= 100) {
            return 1;
        } else if (startPrice > 100 && startPrice <= 250) {
            return 2.5;
        } else if (startPrice > 250) {
            return 5;
        }
    } else if (!status.equals("Pending")) {
        return -1;
    }
}


您能为我解释为什么编译器不断询问丢失的返回语句。我该如何解决

最佳答案

编译器不知道status.equalsIgnoreCase("Pending")!status.equals("Pending")涵盖了所有可能性。实际上,我只是通过检查函数名称来猜测。

您需要帮助。

一种解决方法(如果您打算这样做)是写

 } else /*if (!status.equals("Pending"))*/ {
     return -1;
 }

关于java - 为什么我的代码不断询问丢失的退货声明,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20660748/

10-13 22:39