JavaRush
AI Academy
Акция
Университет
Java FullStack
Python FullStack
AI Native Developer
new
Web FullStack
Обучение
Курсы
Задачи
Опросы
Игры
Помощь
График пинков
Стажировка
Сообщество
Пользователи
Форум
Чат
Статьи
Истории успеха
Активности
Отзывы
Подписки
Светлая тема
Вопрос
  • Отзывы
  • О нас
  • CS50
Начать
Начать обучение
Начать обучение
  • Все вопросы
JavaRush/Помощь по Java задачам/Всем привет! Возвращает максимально число - ок. А минимал...
Anton Korolev
10 уровень
  • 11.11.2019
  • 393просмотров
  • 4комментариев

Всем привет! Возвращает максимально число - ок. А минимальное - всегда ноль. Где же подвох?

Вопрос по задаче Максимальное и минимальное числа в массиве
Java Syntax,  7 уровень,  12 лекция
Архивный

Создать массив на 20 чисел.
Заполнить его числами с клавиатуры.
Найти максимальное и минимальное числа в массиве.
Вывести на экран максимальное и минимальное числа через пробел.

Требования:
  • В классе Solution создай статический публичный метод int[] getInts().
  • Метод getInts() должен возвращать массив целых чисел размерностью 20 элементов, заполненный с клавиатуры.
  • В методе main создай и проинициализируй массив с помощью метода getInts(), найди и выведи через пробел максимальный и минимальный элемент массива.
  • Используй цикл for.
....
package com.javarush.task.task07.task0721; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; /* Минимаксы в массивах */ public class Solution { public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); int[] array = new int[20]; for (int i = 0; i < array.length; i++) { int f = Integer.parseInt(reader.readLine()); array[i] = f; } int maximum = 0; int minimum = 0; for (int i = 0; i < array.length; i++) { if (array[i] > maximum) { maximum = array[i]; } } for (int i = 20; i < array.length; i++) { if (array[i] < minimum) minimum = array[i]; } System.out.print(maximum + " " + minimum); } }
0
Комментарии (4)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Anton Korolev
Уровень 10
11 ноября 2019, 20:33
Спасибо всем. Разобрался!
0
hidden #2170301
Уровень 41
11 ноября 2019, 19:17
у тя минимум изначально равен нулю , любое положительное число больше нуля вот и ноль выходит. надо так :
int min = array[0];
for(int i = 1; i < array.length;i++) {
    if(array[i] < min) {
      min = array[i];
    }
}
или так :
int min = 0;
for(int i = 0; i < array.length;i++) {
    if(array[i] < min || i == 0) {
      min = array[i];
    }
}
+1
Денис
Уровень 16
11 ноября 2019, 18:35
Проблема во втором for, где Вы ищите минимум, Вы начинаете с 20 элемента массива и идете вверх, т.е по сути туда где элементов уже нет, замените 20 на 0 или перепишите условие что-то типа: for (int i = 20; i >=0; i--)
0
Михаил Якименко
Уровень 41
11 ноября 2019, 18:13
Подвох у вас в коде. При массиве, где все числа больше нуля, у вас выведется ноль, а должно минимальное из массива. Вместо int minimum = 0; используйте int minimum = Integer.MAX_VALUE;
0
Обучение
  • Курсы программирования
  • Регистрация
  • Курс Java
  • Помощь по задачам
  • Цены
Сообщество
  • Пользователи
  • Статьи
  • Форум
  • Чат
  • Истории успеха
  • Активности
Компания
  • О нас
  • Контакты
  • Отзывы
  • FAQ
  • Поддержка
JavaRushJavaRush — это интерактивный онлайн-курс по изучению Java-программирования c нуля. Он содержит 1200 практических задач с проверкой решения в один клик, необходимый минимум теории по основам Java и мотивирующие фишки, которые помогут пройти курс до конца: игры, опросы, интересные проекты и статьи об эффективном обучении и карьере Java‑девелопера.
Подписывайтесь
Язык интерфейса
Русский
English Українська
"Программистами не рождаются" © 2026 JavaRush
MastercardVisa
"Программистами не рождаются" © 2026 JavaRush