java - 为什么 Eclipse 错误地指出我的方法必须返回 double 值?

标签 java eclipse

对于我正在进行的计算,我创建了一个方法来计算哪个数字是两个数字中最小的:

public static double min(double one, double two){
    if (one < two) return one; //Return one if it is less than two
    if (two < one) return two; //Return two if it is less than one
    if (one == two) return two; //Return two, because it's the same.
}

但是,Eclipse 告诉我“此方法必须返回 double 类型”。

我对此感到困惑,因为该方法必须返回 double !一个数字可以大于、小于或等于另一个数字。因此,没有任何情况下它返回 double 值。

为什么 Eclipse 会提示这个?

最佳答案

作为对已给出答案的补充,如果其中一个 double 未定义 (Double.NaN),则所有这些检查都可能失败。 这是因为涉及 NaN 值的比较始终返回 false,无论涉及其他值如何。

因此编译器认为该方法需要有默认返回值是正确的。这可以用这个测试用例来显示,它将打印“defaulted”:

public static void main(String[] args) {
    double one = 1;
    double two = Double.NaN;
    System.out.println(min(one, two));
}

static String min(double one, double two) {
    if (one < two) return "one";
    if (one > two) return "two";
    if (one == two) return "two";
    return "defaulted";
}

关于java - 为什么 Eclipse 错误地指出我的方法必须返回 double 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29328485/

相关文章:

java - 如何即时进行组合学

java - 通过java程序过滤数据还是删除oracle db中的行效率更高?

eclipse - 混帐 + eclipse : 401 Unauthorized Error

java - 帮助设置 Java VM 大小

java - 显示 jar 文件中的图像

java - 在整个部署项目中查找资源

java - 当我尝试使用 java 从 Spark 中的 json 文件创建 View 时,为什么我得到的行包含空值

java - 在java中列表末尾的链表中移动所有现有元音

java - Q : I can't start Database connection in Eclipse

android - 尝试运行 Android 应用程序时出现 Eclipse 启动错误