Не получается в методе МАХ вывести максимум. С созданием массива вроде все в порядке [закрыт]

139
16 декабря 2018, 21:40

Код должен создавать и набивать массив числами с клавиатуры в методе initializeArray. Метод max должен получать максимум из массива метода initializeArray и возвращать этот максимум в метод main. Загвоздка в методе max. Он не выполняет то что должен. Не возвращает максимум в метод main:

import java.io.*;
public class Solution5 {
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++) {
  array[i] = Integer.parseInt(reader.readLine());
  }
    return null;
}
public static int max(int[] array) {
  for(int j = 0; j > array.length; j++) {
    if(array[j] > max(array)) {
      max(array) = array[j];
        }
      }
  return 0;
   }
}
Answer 1

Вот ваш готовый код:

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++) {
        array[i] = Integer.parseInt(reader.readLine());
    }
    return array;
}
public static int max(int[] array) {
    int maximum = array[0];
    for(int j = 1; j < array.length; j++) {
        if(array[j] > maximum) {
            maximum = array[j];
        }
    }
    return maximum;
}
  1. Ошибка в операторе return в методе initializeArray().
  2. Метод max переработан с минимумом исправлений. Без добавления одной переменной никак.
  3. Обратите внимание, в цикле for знак > заменен на <.
Answer 2
public static Integer max(int[] array) {
    Integer maxNum = null;
    for (int num : array) {
        if (maxNum == null || num > maxNum) {
            maxNum = num;
        }
    }
    return maxNum;
}
READ ALSO
Сравнение двух таблиц и изменение цвета текста строки таблицы

Сравнение двух таблиц и изменение цвета текста строки таблицы

Есть 2 таблицыSql запросом сравниваю таблицы на совпадающие значения первого столбика и при совпадении нужно закрасить строки первой таблицы...

176
IO Java. Проблемы с удалением и поиском

IO Java. Проблемы с удалением и поиском

Новичок в Java, учусьВозникла проблема с удалением и поиском во время решения

153
Пространство до строки в JavaScript

Пространство до строки в JavaScript

У меня программа, которая должна делать все слова с большой буквыЯ написал версию, которая делает слова с заглавной после первого слова

162
LEFT JOIN в sequelize

LEFT JOIN в sequelize

Использую mysql и sequelize в Nodejs проекте

188