Отсутствие return

188
18 декабря 2017, 13:55

Почему после последней фигурной скобки есть эта ошибка:missing return statement Весь код:

    Double delo2() {
    a = Integer.parseInt(getTextFromEdit());
    b = Integer.parseInt(getTextFromEdit());
    double x=1;
    if (a > 0) {
        x = b / a;
        return x;
    } else if (a == 0) {
        x = 0;
        return x;
    }
}
Answer 1

Потому что компилятор не уверен, что хотя бы одно из условий выполнится. Например, если a будет меньше нуля. А поэтому необходим еще один return в конце метода.

Вообще, чтобы не путаться, в некоторых случаях лучше сразу поставить return Something в конце метода, а внутри метода нужной переменной в нужный момент присваивать значения. Примерно так:

Double delo2() {        
    double x = 1;
    if (.....) {
        x = .......;            
    } else if (.........) {
        x = ......;            
    }
    return x;
}
READ ALSO
Android асинхронная запрос ViewPager

Android асинхронная запрос ViewPager

При старте Activity(в методе onCreate) отправляется запрос на сервер, с которого приходит количество элементов-фрагментов для ViewPagerViewPagerAdapter Требует...

186
Объявление параметров метода как final

Объявление параметров метода как final

Давайте представим, что есть некий метод, который принимает скажем 3 параметра

175
Структура проекта для Maven

Структура проекта для Maven

Чтобы упростить понимание моего вопроса, я максимально упрощу ситуациюУ меня есть проекы Hotel и Configurator

239
Проблема с процессорами Mediatek. Please Help Me!

Проблема с процессорами Mediatek. Please Help Me!

Разработал приложение на Android Studio 23

208