Как сделать вывод метода? Запуталась

184
15 февраля 2017, 21:51

Никак не соображу как сделать вывод. Вроде все также, как в первом методе. Но все равно ошибка. Искала в инете информацию, но все равно не могу сообразить(

public class Solution {
    public static int min(int a, int b, int c, int d) {
        int m2;
        if (a < b)
           m2 = a;
        else 
           m2 = b;
        int m3;
        if (m2 < c)
          m3 = m2;
        else
          m3 = c;
        int m4;
        if (m3 < d)
          m4 = m3;
        else
          m4 = d;
        return m4; 
       //напишите тут ваш код
    }
    public static int min(int a, int b) { // тут ошибка
      if(a<b)
        return a;
      else if(b<a)
        return b;
    }
   public static void main(String[] args) throws Exception {
        System.out.println(min(-20, -10));
        System.out.println(min(-20, -10, -30, -40));
        System.out.println(min(-20, -10, -30, 40));
   }
}
Answer 1

У вас метод int min(int a, int b не всегда возвращает значение, на что и ругается компилятор. А именно вы никак не обрабатываете ветку else в условии

if(b<a)
  return b;

Точнее, эта ветка у вас и вовсе отсутствует. Либо напишите else return <что-нибудь>, либо добавьте в конце метода недостающий return

Answer 2

лучше таки наверное типа так:

public static int min(int... args) {
    int minValue=Integer.MAX_VALUE;
    for(int i:args) {
        if(i < minValue)
           minValue=i;
    }
    return minValue;
}
Answer 3

Можно так:

public static int min(int... numbers) {
    if (numbers.length == 0)
        throw new IllegalArgumentException("нет чисел для сравнения");
    int min = numbers[0];
    for (int number : numbers)
        min = Math.min(min, number);
    return min;
}
Answer 4

Замените метод min(int a, int b) на следующий:

public static int min(int a, int b) { 
   if (a < b) {
         return a;
    }
    return b;
}

или даже так, ещё проще:

public static int min(int a, int b) {
        return (a < b) ? a : b;
}

И в этом случае метод вернёт меньшее из двух чисел (или b, если они равны - а если два числа равны, то всё равно ведь, какое из них возвращать).

READ ALSO
Условия поиска регулярного выражения java

Условия поиска регулярного выражения java

Дана url ссылка допустим https://wwwgoogle

274
Верстка блока меню и поиска

Верстка блока меню и поиска

Помогите сверстать блок менюне могу разобраться как сделать все в один ряд

288
Срабатывание animation + wow внутри div

Срабатывание animation + wow внутри div

Добрый вечерУ меня проблема с анимацией wow

344
Адаптивный дизайн - расположение блоков

Адаптивный дизайн - расположение блоков

Есть шаблон адаптивного дизайна сайта https://jsfiddlenet/u0t72dgh/

236