Метод с параметрами

public int розничная(int экз, int общ, int тираж)
        { 
            if (экз < 50)
            {
                return cost(общ, тираж) + ((cost(общ, тираж) * 25) / 100);
            } else
            if (экз < 51 && экз<100)
            {
                return cost(общ, тираж) + ((cost(общ, тираж) * 15) / 100);
            }else
            if (экз > 100)
            {
                return cost(общ, тираж) + ((cost(общ, тираж) * 5) / 100);
            }
        }

Вылазит ошибка. Изначально было:

public int розничная(int экз, int общ, int тираж)
        {
            int r;
            if (экз < 50)
            {
                r= cost(общ, тираж) + ((cost(общ, тираж) * 25) / 100);
            } else
            if (экз < 51 && экз<100)
            {
                r = cost(общ, тираж) + ((cost(общ, тираж) * 15) / 100);
            }else
            if (экз > 100)
            {
                r = cost(общ, тираж) + ((cost(общ, тираж) * 5) / 100);
            }
            return r;
        }

Но так тоже ошибка. С методами с параметрами сталкиваюсь впервые. Подскажите в чём ошибка?


Ответы (1 шт):

Автор решения: Levkovskiy Alex

В вашей функции указан тип возвращающего значения int.
В новой функции вы убрали ключевое слово return из-за этого получаете ошибку.

Для исправления (на выбор):

  1. Добавьте строку return 0; в конце метода.
  2. Исправьте последний else if на просто else
→ Ссылка