ошибка: '.class' expected return int несовершеннолетний;

Ошибка: Оно программировать java:16: ошибка: '.class' expected return int несовершеннолетний;

Что происходит?

public class Programa {
   public static void main(String[] args) {
      int x = 23, y = 45;
      int menor=esMenor(x, y);
      if( menor == x) {
         System.out.println("x es menor");
      }
   }

   public static void esMenor(int a, int b) {
      if (a < b) {
         int menor = a;
      } else if (a >= b) {
         int menor = b;
      }
      return int menor;
   }
}
1
задан 10.11.2019, 14:55
2 ответа

У тебя есть серия проблем с тобой mГ©todo esMenor:

Сначала ты хочешь, чтобы он возвратил тебе один int из-за того же самого, когда ты заявил mГ©todo, не должен делать это void ( Слово void индийская, что mГ©todo в cuestiГіn не возвращает ningГєn стоимость ), если не int а именно:

  public static int esMenor(int a, int b) {
       code;
       return 0;
  }

AsГ - могут получать один int начиная с вызова mГ©todo в main


С другой стороны у тебя есть ошибка в ней declaraciГіn переменной menor внутри mГ©todo esMenor()

public static void esMenor(int a, int b) {
      if (a < b) {
         int menor = a; //se declara toma el valor de a
      } else if (a >= b) {
         int menor = b; // se declara y toma el valor de b
      }
      return int menor; // se declara y toma un valor vacío
}

А именно каждый раз, когда ты будешь возвращать menor он будет возвращать стоимость vacГ, - или так как после того, как вновь объявишь переменную, он создается и не берет ningГєn стоимость.


Правильное serГ - Идеальное состоит в том, чтобы признавать

public static int esMenor(int a, int b) {
      int menor = 0; // se declara al principio con valor 0
      if (a < b) {
          menor = a; // menor toma el valor de a si se cumple la condición
      } else if (a >= b) {
          menor = b; // menor toma el valor de b si se cumple la condición
      }
      return  menor; // devuelve el valor, si es que no toma a o b, devuelve 0
}

переменной сначала, со стоимостью 0, так как в случае не выполнения условий, объявленных в continuaciГіn, в момент возвращения не darГЎ ошибки.

3
ответ дан 01.12.2019, 12:09

Как сказал Riaven, никогда ты не должен помещать Void, если ты хочешь возвратить стоимость, так как из-за asГ - говорить все то, что ты помещаешь в один mГ©todo void, - труба только с 1 выводом, который, где он вводит все, но не выходит, взамен, когда ты делаешь один mГ©todo нормально, он может выходить все то, что я перемещаю внутри, и направляться к другому месту, я надеюсь, что он помогает тебе для твоих будущих проектов.

1
ответ дан 01.12.2019, 12:09
  • 1
    Спасибо Томас из-за твоего ответа. – alderson 11.11.2019, 21:38