JavaRush
AI Academy
new
Акция
Университет
Java FullStack
Python FullStack
AI Native Developer
new
Web FullStack
Обучение
Курсы
Задачи
Опросы
Игры
Помощь
График пинков
Стажировка
Сообщество
Пользователи
Форум
Чат
Статьи
Истории успеха
Активности
Отзывы
Подписки
Светлая тема
Вопрос
  • Отзывы
  • О нас
  • CS50
Начать
Начать обучение
Начать обучение
  • Все вопросы
JavaRush/Помощь по Java задачам/Не выполняется все условия, не пойму, в чем промах
Alena P
15 уровень
  • 11.11.2021
  • 486просмотров
  • 5комментариев

Не выполняется все условия, не пойму, в чем промах

Вопрос по задаче Среднее такое среднее
Java Syntax,  4 уровень,  12 лекция
Решен

Введи с клавиатуры три числа, выведи на экран среднее из них. Т.е. не самое большое и не самое маленькое.
Если все числа равны, выведи любое из них.

Требования:
  • Программа должна считывать числа c клавиатуры.
  • Программа должна выводить число на экран.
  • Программа должна выводить среднее из трех чисел.
  • Если все числа равны, вывести любое из них.
  • Если два числа из трех равны, вывести любое из двух.
.....
package com.javarush.task.jdk13.task04.task0441; 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()); int medium; if (a > b && b < c){ medium = b; } else { medium = b; } if (a == b && a < c && b < c){ } else { medium = b; } System.out.println(medium); } }
0
Комментарии (5)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Vitali1982
Уровень 6
11 ноября 2021, 06:50
Привет, нужно сверить каждое с каждым(больше циклов) - почему у тебя средним выходит постоянно b? if ((x>=y)&(y>=z)) System.out.println(y); else if ((x>=z)&(z>=y)) System.out.println(z); else if ((y>=x)&(x>=z)) System.out.println(x); else if ((y>=z)&(z>=x)) System.out.println(z); else if ((z>=x)&(x>=y)) System.out.println(x); else System.out.println(y);
0
Alena P
Уровень 15
12 ноября 2021, 04:02
Поняла, спасибо большое!
+1
AndreyJava Developer в Инфотранс
11 ноября 2021, 05:31
По твоему коду у тебя всегда среднее b - это не так. Попробуй переписать полностью проверки - как вариант просто в лоб, проводя все сравнения, а не только 'b' сравнивать с 'а' и c 'с'.
0
Alena P
Уровень 15
11 ноября 2021, 06:49
Попробовала через != не проходит так же(( if (a == b && a == c && b == c) System.out.println(a); else if (a == b && a != c && b != c) System.out.println(b);
0
AndreyJava Developer в Инфотранс
11 ноября 2021, 07:40
не, смотри, суть в другом: ты сравниваешь все относительно b, а надо сравнивать попарно все элементы
0
Обучение
  • Курсы программирования
  • Регистрация
  • Курс Java
  • Помощь по задачам
  • Цены
Сообщество
  • Пользователи
  • Статьи
  • Форум
  • Чат
  • Истории успеха
  • Активности
Компания
  • О нас
  • Контакты
  • Отзывы
  • FAQ
  • Поддержка
JavaRushJavaRush — это интерактивный онлайн-курс по изучению Java-программирования c нуля. Он содержит 1200 практических задач с проверкой решения в один клик, необходимый минимум теории по основам Java и мотивирующие фишки, которые помогут пройти курс до конца: игры, опросы, интересные проекты и статьи об эффективном обучении и карьере Java‑девелопера.
Подписывайтесь
Язык интерфейса
Русский
English Українська
"Программистами не рождаются" © 2026 JavaRush
MastercardVisa
"Программистами не рождаются" © 2026 JavaRush