package com.javarush.task.task04.task0420;
import java.io.BufferedReader;
import java.io.InputStreamReader;
/*
Сортировка трех чисел
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int a = Integer.parseInt(reader.readLine());
int b = Integer.parseInt(reader.readLine());
int c = Integer.parseInt(reader.readLine());
System.out.println(max(a,b,c)+" "+ave(a,b,c)+" "+min(a,b,c));
}
public static int min(int a,int b,int c){
int s;
if (a<=b)
s=a;
else
s=b;
if (s<=c)
return s;
else
return c;
}
public static int max(int a,int b,int c){
int s;
if (a>=b)
s=a;
else
s=b;
if (s>=c)
return s;
else
return c;
}
public static int ave(int a,int b, int c) {
if (((a>=b) && (a<=c)) || ((a>=c) && (a<=b)))
return a;
else if (((b>=a) && (b<=c)) || ((b>=c) && (b<=a)))
return b;
else if (((c>=a) && (c<=b)) || ((c>=b) && (c<=a)))
return c;
}
}
Сергей
7 уровень
java: missing return statement Что за ошибка? метод возвращает значение, как и должен. Не могу понять, что ему не нравится.
Обсуждается
Комментарии (9)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Сергей
25 февраля 2021, 13:36
Благодарю за ответы, добавил просто элс ретёрн с) возможно не учёл равенство всех чисел просто
0
KIRA Разработчик в prosv.ru Expert
25 февраля 2021, 13:42полезный
Тут дело в компиляторе. Даже если вы напишите
компилятор скажет : missing return statement - потому что значение возвращается только при условии и ему не важно, что оно выполнится (он не проверяет выполнится ли оно или нет) +2
Сергей
25 февраля 2021, 13:47
если я правильно понял, ему равно правильные ли у меня условия, важно чтобы он по-любому что-то вывел? я там добавил следующее
else
return c;
т.к. подумал, что под мои условия может не попасть число, которое вводится
0
KIRA Разработчик в prosv.ru Expert
25 февраля 2021, 13:52полезный
вы правильно поняли. просто когда есть else компилятор спокоен, ведь если ни одно условие не выполнится то он вернет то что в else
компилятор не примет
компилятор примет хоть else никогда не сработает
+1
Сергей
25 февраля 2021, 14:03
спасибо за разъяснение)
0
hidden #2322530
25 февраля 2021, 13:23
у тебя все возвраты под условиями.
нет гарантированного возврата.
0
Стас Пасинков Software Developer в Zipy Master
25 февраля 2021, 13:22
условия ваши не проверял, но есть у меня подозрение, что возможно не учтено какое-то условие, и в таком случае программа пройдет все ифы-элсы, и так никуда и не зайдет, и в итоге окажется, что ей нечего ретурнить. поэтому и такая ошибка.
если вы абсолютно уверены в правильности своих условий - замените последний елс-иф просто на елс
0
KIRA Разработчик в prosv.ru Expert
25 февраля 2021, 13:22
в ave() возвращается значение только если выполнится условие
0
Сергей
25 февраля 2021, 13:18
Дополню, ошибка касается последнего метода. Решаю в idea
0