2 / 2 / 0
Регистрация: 25.03.2016
Сообщений: 107
1

Как прописать return в таком случае ?

21.04.2018, 11:10. Показов 457. Ответов 9
Метки нет (Все метки)

Есть код, который выводит меньшее число из трех предложенных.
Прописано с помощью цикла if. Но выходит ошибка "Misssing return statement", то есть не указано что возвращать если ни одно из условий не есть истинно(?). Как указать заключающий return в таком случае ?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package com.company;
 
 
public class Main {
        public static int min(int a, int b, int c) {
            if(a < b && a < c) return a;
            if(b < a && b < c) return b;
            if(c < a && c < b) return c;
        }
 
        public static void main(String[] args) throws Exception {
            System.out.println(min(1, 2, 3));
            System.out.println(min(-1, -2, -3));
            System.out.println(min(3, 5, 3));
            System.out.println(min(10, 5, 10));
        }
 
    }
Добавлено через 6 минут
Нашел решение.
Вместо
Java
1
if(c < a && c < b) return c;
прописать
Java
1
else return c;
Это правильный код ?

Добавлено через 9 минут
И ещё заменил думаю надо заменить < на <=.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.04.2018, 11:10
Ответы с готовыми решениями:

Зачем нужна инкапсуляция в таком случае
Зачем нужна инкапсуляция для таких вещей как имя, при наличии сет и гет ф-ии? Ну я имею ввиду...

Как указать int в таком случае ?
Вот такой код. Как указать int в строчке Dog Dog = new Dog ... ? По умолчанию выходит String z, а...

Что это isOk(int s),setAge(int g){if(isOk(g){age=g;return true;}else{.;return false;}}.getName(){return name;}?
package com.company; import java.io.Serializable; public class person implements Serializable {...

Как расшифровать JSON в таком случае?
Пилю скрипт, который определяет страну посетителя через сервис http://rest.db.ripe.net/ Получаю...

9
942 / 686 / 229
Регистрация: 28.04.2013
Сообщений: 1,924
21.04.2018, 11:12 2
Цитата Сообщение от Wonderio619 Посмотреть сообщение
Но выходит ошибка "Misssing return statement"
Появление этого предупреждения в вашем случае означает что ваши условия не покрывают все возможные варианты

Добавлено через 1 минуту
можно сделать еще так
Java
1
2
3
4
5
6
7
8
9
    public static void main(String[] args) {
        int min = getMin(1, -4, 4);
        System.out.println(min);
    }
 
 
    public static int getMin(int... args) {
        return Arrays.stream(args).min().getAsInt();
    }
0
2 / 2 / 0
Регистрация: 25.03.2016
Сообщений: 107
21.04.2018, 11:16  [ТС] 3
reisal78, с поправками которые я добавил код работает. Вроде-бы всё норм.

Добавлено через 3 минуты
reisal78, а вот указанный Вам код на текущем этапе изучения Java для меня вообще страшен ))
0
942 / 686 / 229
Регистрация: 28.04.2013
Сообщений: 1,924
21.04.2018, 11:25 4
Wonderio619,

Java
1
2
3
4
5
6
    public static int getMin(int a, int b, int c) {
        int min = a;
        if (b < min) min = b;
        if (c < min) min = c;
        return min;
    }
Добавлено через 2 минуты
Цитата Сообщение от Wonderio619 Посмотреть сообщение
с поправками которые я добавил код работает. Вроде-бы всё норм.

Java
1
2
3
4
5
6
7
8
9
    public static int min(int a, int b, int c) {
        if(a < b && a < c) return a;
        if(b < a && b < c) return b;
        else return c;
    }
 
    public static void main(String[] args) throws Exception {
        System.out.println(min(2, 2, 4));
    }
а если так?
0
2 / 2 / 0
Регистрация: 25.03.2016
Сообщений: 107
21.04.2018, 11:31  [ТС] 5
reisal78, так норм.
Java
1
2
3
4
5
6
7
8
9
public static int min(int a, int b, int c) {
        if(a <= b && a <= c) return a;
        if(b <= a && b <= c) return b;
        else return c;
    }
 
    public static void main(String[] args) throws Exception {
        System.out.println(min(2, 2, 4));
    }
0
34 / 11 / 6
Регистрация: 09.01.2018
Сообщений: 169
21.04.2018, 13:59 6
Вы себя обманываете.

Изначально задача "вернуть наименьшее". Соответственно если есть вариант когда они равны (то есть нет наименьшего), можно под всеми вернуть null к примеру и обработать такой вариант снаружи, либо возвращать любое число, то есть можно просто вернуть "c".

И в конце не обязательно писать "else return ...", можно просто return, так как если другие условия верные, то до этого не дойдет.
1
Эксперт Java
3882 / 2503 / 448
Регистрация: 28.04.2012
Сообщений: 8,201
21.04.2018, 18:21 7
Цитата Сообщение от Wonderio619 Посмотреть сообщение
цикла if
if — это не цикл.

Вообще, не понятно, для кого Math.min существует.
0
2238 / 1762 / 442
Регистрация: 17.02.2014
Сообщений: 8,696
22.04.2018, 12:48 8
классика не пугает?
Java
1
2
3
4
5
6
7
8
private static  double getInt(double... vals) {
        double minValRet = vals[0];
        for (int i = 1; i < vals.length; i++) {
            if (minValRet > vals[i])
                minValRet = vals[i];
        }
        return minValRet;
    }
0
2 / 2 / 0
Регистрация: 25.03.2016
Сообщений: 107
22.04.2018, 14:57  [ТС] 9
Интересно
0
261 / 436 / 75
Регистрация: 26.02.2018
Сообщений: 860
Записей в блоге: 2
23.04.2018, 08:22 10
можно и так
Java
1
2
3
    private static int min(int a, int b, int c) {
        return a <= b && a <= c ? a : b <= c ? b : c;
    }
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.04.2018, 08:22

Как правильно записать в таком случае?
$('.wrappZametka').hover(function() { ...

Как в таком случае правильно применить array?
Весь код таков Image1.visible:=memo1.Lines='а'; Image2.visible:=memo1.Lines='б';...

Чудес не бывает, но в таком случае как это мне понять
Всем доброго времени суток, товарищи! Значит написал программку заполняет дерево из базы данных,...

Как правильно перенести данные из массива в массив в таком случае?
Добрый день. Подскажите, пожалуйста, или хотя бы натолкните на мысль) В экселе при создании...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru