Более или менее условие всегда действует - PullRequest
0 голосов
/ 11 марта 2019

У меня есть метод с двумя двойными параметрами: 1. значение, которое я хочу проверить 2. значение, которое я хочу проверить, 0,99 или 1,0, но не фиксированные значения, возвращаемое значение 2 *. 1001*

Ожидаемый результат: если 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 голосов
/ 11 марта 2019

Когда вы точно скажете, что var2 равен 0,99 или 1,0, вы можете просто проверить вот так:

static boolean check (Double var1) {

    return !(var1 >= 1.0);
}
0 голосов
/ 11 марта 2019

БК- почему вы пытаетесь return false в Object (возвращении) методе?С учетом регистра.В любом случае, и в операторах if, и в else вы возвращаете одинаковые значения.

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 учитывается регистр.

0 голосов
/ 11 марта 2019

Код может помочь вам:

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

   if (var1 >= var2) {
      obj = var1;
      return obj; 
   }
   else {
      obj = var2;
      return obj; 
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...