Java; Не могу понять куда писать аргументы куда параметры метода

Необходимо выбрать максимальное число из массива. Вроде се сделал по инструкции, но оно не работает. Подскажите где именно ошибка и как именно должен выглядеть код.

public class Praktikum {

public static void main(String[] args) { // Главный метод - вход в программу
    double[] expenses = {1772.5, 367.0, 120.6, 2150.2, 874.0, 1.0, 1459.4}; // массив
    
    double maxExpense = findMaxExpense(maxExpense); // переменная которой приравнивается результат работы метода для расчета максимального значения
    System.out.println("Самая большая трата недели " + maxExpense); // отображения результата
}

private static double findMaxExpense(double[] expenses) { // Метод поиска максимального числа

    double maxExpense = 0;  // то с чего начинаем поиск максимального числа
    for (int i = 0; i < expenses.length; i++) {   // цикл
        if (expenses[i] > maxExpense) {
            maxExpense = expenses[i];  // приравниваем  каждое следующее большее число промежуточной переменной
        }
        return maxExpense; // возвращаем найденое максимальное число
    }

}

}


Ответы (2 шт):

Автор решения: Olegator36

Вынесите return из цикла for )))

→ Ссылка
Автор решения: стасевич
  1. вынести return из цикла for, как написал Olegator36. получается у тебя после первой же итерации прекращается метод и возвращается значение maxExpense.
    и надо избегать одинаковых имён переменных, у тебя в мейне переменная maxExpense и в методе maxExpense
    2)double maxExpense = findMaxExpense(maxExpense);
    компилятор пишет что переменная может быть не инициализирована, плюс метод у тебя должен принимает массив, а ты туда примитив передаёшь. передавай массив expenses

    double maxExpense = findMaxExpense(expenses);

→ Ссылка