或多或少的条件始终有效

时间:2019-03-11 02:26:44

标签: java if-statement

我有一个带有2个双参数的方法:  1.我要检查的值  2.我要检查的值是0.99或1.0,但不是固定值, 返回值为2。

预期结果是:如果1小于或等于0.99,则表示是良好;但是,如果1大于或等于1.0,则表示是差

static Double check (Double var1, Double var2) {
    Double obj= 0.0;

    if (var1 >= var2)
        obj = var2;
    else if (var1 <= var2)
        obj = var2;
    return obj; }

var1两次输入相同的值,但var2是一次更改的值, 问题在于,如果值小于0.99(例如0.5),则始终小于1.0;如果值大于1.0,则始终大于0.99,则会给我两个结果

3 个答案:

答案 0 :(得分:0)

当您确定地说var2是0.99或1.0时,您可以像这样正确地进行检查:

static boolean check (Double var1) {

    return !(var1 >= 1.0);
}

答案 1 :(得分:-1)

该代码可以为您提供帮助:

static Object check (Double var1, Double var2) {
   Object obj=new Object();

   if (var1 >= var2) {
      obj = var1;
      return obj; 
   }
   else {
      obj = var2;
      return obj; 
   }
}

答案 2 :(得分:-1)

为什么-为什么要尝试使用return false(返回)方法Object?区分大小写。无论哪种方式,在ifelse语句中,您都返回相同的值。

static double check (Double var1, Double var2) { // You are returning doubles. Not objects.
   double obj;

   if (var1 >= var2) {
      obj = var1; // not var2, otherwise the else-if statement would be the exact same
      return obj; 
   }
   else if (var1 < var2) {
      obj = var2;
      return obj; 
   }
   else
      return false; // Throws error, I don't know what you want to do with this.
}

别忘了Java是区分大小写的。