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

почему мне валидатор говорит, что у меня не проинициализирована переменная i?

Вопрос по задаче Максимальное среди массива на 20 чисел
Java Syntax,  7 уровень,  4 лекция
Решен


1. В методе initializeArray():
1.1. Создай массив на 20 чисел
1.2. Считай с консоли 20 чисел и заполни ими массив
2. Метод max(int[] array) должен находить максимальное число из элементов массива

Требования:
  • Метод initializeArray должен создавать массив из 20 целых чисел.
  • Метод initializeArray должен считать 20 чисел и вернуть их в виде массива.
  • Метод max должен возвращать максимальный элемент из переданного массива.
  • Метод main изменять нельзя.
....
package com.javarush.task.task07.task0701; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; /* Массивный максимум */ public class Solution { public static void main(String[] args) throws Exception { int[] array = initializeArray(); int max = max(array); System.out.println(max); } public static int[] initializeArray() throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); int [] array = new int[20]; for (int i = 0; i < array.length; i++) { String s = reader.readLine(); array [i] = Integer.parseInt(s); } return array; } public static int max(int[] array) { int max = array [20]; if (array[i] > max) { max = array[i]; } return max; } }
0
Комментарии (6)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Константин
Уровень 23
24 ноября 2019, 18:07
У тебя в методе max, не сравниваются элементы, нет цикла, для проверки. Также переменной присваивается элемент, превышающий длину массива, массив из 20 элементрв, а присваивается 21 элемент.
0
Anonymous #2155504
Уровень 19
20 ноября 2019, 08:16
Ты в строке 30 кладёшь в переменную max 21ый элемент массива, а их всего 20.
0
Crazy Girl QA Automation Engineer
20 ноября 2019, 07:48
правиально говорит, она проинициализирована только внутри цикла for А этот метод public static int max ничего про неё не знает
0
Анна Ивашенцева
Уровень 24
20 ноября 2019, 07:57
во всех примерах в лекциях ее тоже инициализируют в цикле for
0
hidden #598481
Уровень 27
20 ноября 2019, 07:58
у тебя внутри метода max в строках 29-34 есть переменная i. откуда она там возьмется?
0
Crazy Girl QA Automation Engineer
20 ноября 2019, 08:08
Надо проинициализировать 2 раза, раз тут требование такое - чтоб было 2 метода.
0
Обучение
  • Курсы программирования
  • Регистрация
  • Курс Java
  • Помощь по задачам
  • Цены
Сообщество
  • Пользователи
  • Статьи
  • Форум
  • Чат
  • Истории успеха
  • Активности
Компания
  • О нас
  • Контакты
  • Отзывы
  • FAQ
  • Поддержка
JavaRushJavaRush — это интерактивный онлайн-курс по изучению Java-программирования c нуля. Он содержит 1200 практических задач с проверкой решения в один клик, необходимый минимум теории по основам Java и мотивирующие фишки, которые помогут пройти курс до конца: игры, опросы, интересные проекты и статьи об эффективном обучении и карьере Java‑девелопера.
Подписывайтесь
Язык интерфейса
Русский
English Українська
"Программистами не рождаются" © 2026 JavaRush
MastercardVisa
"Программистами не рождаются" © 2026 JavaRush