Максимум четырех чисел

  • 4
  • Недоступна
Максимумом называется n-арная операция (операция над n числами), возвращающая наибольшее из чисел. Нет, нам в секретном центре JavaRush совсем не обязательно знать такие определения. Мы тут для того, чтобы учиться писать код. В этой задаче нужно ввести с клавиатуры четыре числа, затем — вычислить наибольшее из них и вывести его на экран.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (393)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Павел Инженер электроник в АК "АЛРОСА"
позавчера, 04:50
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());
       int d = Integer.parseInt(reader.readLine());
       int e = 0;
       int f = 0;
       e = (Math.max (a, b));
       f = (Math.max (c, d));
        if (e != f)
        System.out.println((Math.max (e, f)));
        if (e == f)
        {
        System.out.println(e | f);
        }
Владоs 4 уровень, Луганск
понедельник, 17:43
решилось через Math.max. но как решить через if? все условия выполнились, кроме последнего. как решить задачу через if и вывести любое из равных чисел?
Павел Инженер электроник в АК "АЛРОСА"
позавчера, 04:24
System.out.println(e | f);
Владоs 4 уровень, Луганск
вчера, 11:45
огромное спасибо! чет вообще не допер, хаха
Павел Инженер электроник в АК "АЛРОСА"
19 часов назад
Этот знак | или. Есле равно то вывести е или f
PochkaVirta System Engineer
19 октября, 19:54
Math.max в помощь
Dmitry Morgan Full Stack Developer
19 октября, 17:23
Есть класс - import java.lang.Math; И код - int max = Math.max(a, b); res1 = max; и таких блоков 3 штуки. По итогу sopln - res3. p.s. - это я так, что бы без if, else. res - всего 3 объекта. max и min - свою роль выполняют. можете пробовать.
Nikolay Martynov 5 уровень
22 октября, 19:43
можно и в одну строчку Math.max(Math.max(* , *) , Math.max(* , *));
Вячеслав Пеньков 5 уровень, Новосибирск
8 октября, 17:16
Друзья, вопрос. программа приняла решение, но кажется, что последние 6 строчек решения ненужные. Подскажите, в чем моя ошибка? ___________ 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()); // 8 int b = Integer.parseInt(reader.readLine()); // 9 int c = Integer.parseInt(reader.readLine()); // 5 int d = Integer.parseInt(reader.readLine()); // 8 if (a > b && a > c && a > d) {System.out.println(a);} else if (b > a && b > c && b > d) {System.out.println(b);} else if (c > a && c > b && c > d) {System.out.println(c);} else if (d > a && d > b && d > c) {System.out.println(d);} else if (a >= b & a >= c & a >= d) {System.out.println(a);} else if (b >= a & b >= c & b >= d) {System.out.println(b);} else if (c >= a & c >= b & c >= d) {System.out.println(c);} else if (d >= a & d >= b & d >= c) {System.out.println(d);} } }
Иван Бородкин 4 уровень, Санкт-Петербург
31 октября, 11:59
Если в первой строке кода мы уже выяснили что а не является максимальным, то следующие условия можно сократить. Со следующими аналогично: if (a > b && a > c && a > d) {System.out.println(a);} else if (b > c && b > d) {System.out.println(b);} else if (c > d) {System.out.println(c);} else {System.out.println(d);}
Имя Фамилия 8 уровень, Москва
4 октября, 16:30
Заметил, что поиск изящных решений - это штука, несомненно, увлекательная и полезная, но сильно уж время отъедает. А у меня время довольно дорого стоит, поэтому сделал за 10 минут в лобовую перебором через else if . Простым задачам - простые решения ! ))
Марина 6 уровень, Санкт-Петербург
4 октября, 17:00
Так ведь наоборот на таких простых задачах и нужно учиться придумывать максимально оптимизированное решение. В дальнейшем, решая сложные задачи, у вас это будет занимать в разы больше времени, если не тренироваться сейчас. Почти любую задачу можно решить методом тупого перебора, но кому такое решение нужно и какой смысл от такого обучения?
Skifan 6 уровень, Санкт-Петербург
8 октября, 07:15
китайский код, великий и беспощадный ))
Женя Брошко 6 уровень, Barnaul
24 октября, 15:30
ну, не знаю как по мне так лучше по теме задачи решать что бы полностью так сказать "прощупать" тему))
Kira Usova 13 уровень, Москва
28 октября, 15:41
Поддерживаю) Говорят занимайтесь любовью с циклами, пока от зубов отлетать не начнет - значит так и делаем) Дойдем до функций математических, будем нежно любить их) А иначе это как в 5 классе, когда все через иксы задачку решают, а тебя дома папа пропорциям научил и вроде ты умная, но по факту положено тебе 2 ставить)
Антон Копанев 8 уровень, Днепр
29 сентября, 14:57
System.out.println(Integer.max(Integer.max(a,b), Integer.max(c,d)));
Nimgvae 6 уровень, Брауншвейг
28 сентября, 09:23
Безусловно,существует масса способов как решить одну и туже задачу, начиная от примитивного вроде: Scanner scn1 = new Scanner(System.in); int num1 = scn1.nextInt(); Scanner scn2 = new Scanner(System.in); int num2 = scn2.nextInt(); Scanner scn3 = new Scanner(System.in); int num3 = scn3.nextInt(); Scanner scn4 = new Scanner(System.in); int num4 = scn4.nextInt(); int maxResult=num1; if(num2>=maxResult){ maxResult=num2; } else maxResult=maxResult; if(num3>=maxResult){ maxResult=num3; } else maxResult=maxResult; if(num4>=maxResult){ maxResult=num4; } else maxResult=maxResult; System.out.println(maxResult); до всевозможных дефолтных макс/мин методов. Однако я лично считаю, что лучше всего, для начинающего, именно уметь писать на бумаге простые но рабочие коды.К примеру как выше упомянутая Условная конструкция.
Evgeny Vdovin 8 уровень
6 ноября, 15:02
Зачем ты каждый раз создаешь новый сканнер? Ты его уже импортировал. Так что конструкция простая, но перегруженная. Можно же просто вот так: Scanner scn1 = new Scanner(System.in); int num1 = scn1.nextInt(); int num2 = scn1.nextInt(); int num3 = scn1.nextInt(); int num4 = scn1.nextInt();
Виталий 25 уровень, Санкт-Петербург
25 сентября, 11:42
Кому нужен совет по сравнению четырех чисел: сделайте статический метод с двумя переменными ( public static int max(int a, int b)), который будет возвращать максимум . Потом в условии сравните результат 2 методов для переменных (a,b и c,d) и выведите нужный.
Борис 5 уровень, Москва
24 октября, 16:42
Спасибо. На мой взгляд это оптимальный вариант с учетом пройденного материала.
Михаил Руденко 5 уровень
24 сентября, 06:00
Привет! Можно решить созданием массива из введённых чисел
int[] array = new int[] {number1, number2, number3, number4};
Далее можно завести переменную, которой хранить максимум и пройтись циклом по всем элементам массива. Начальное значение в переменной max будет минимально возможное значение типа Integer, для того чтобы корректно найти минимум при вводе отрицательных значений:
int max = Integer.MIN_VALUE;
А проверка на максимум может быть произведена через метод Integer.max(a, b):
for (int j : array) {
    max = Integer.max(max, j);
}
LEX 9 уровень, Москва
26 октября, 09:12
за минимум при вводе отрицательных значений: "СПАСИБО"!!! помогло