Как мне найти и распечатать индекс максимального значения в массиве?

Для моего проекта мне нужно создать программу, которая принимает 10 чисел в качестве входных данных и отображает режим этих чисел. Программа должна использовать два массива и метод, который принимает массив чисел в качестве параметра и возвращает максимальное значение в массиве.

По сути, то, что я сделал до сих пор, - это использование второго массива, чтобы отслеживать, сколько раз появляется число. Посмотрев на исходный массив, вы увидите, что режим равен 4. (Число, которое появляется чаще всего). Во втором массиве индекс 4 будет иметь значение 2, и, таким образом, 2 будет максимальным значением во втором массиве. Мне нужно найти это максимальное значение во втором массиве и распечатать индекс. Мой результат должен быть «4».

Моя программа хороша до тех пор, пока я не попытаюсь получить цифру «4», и я пробовал несколько разных вещей, но не могу заставить ее работать должным образом.

Спасибо за уделенное время!

public class arrayProject {

public static void main(String[] args) {
    int[] arraytwo = {0, 1, 2, 3, 4, 4, 6, 7, 8, 9};
    projecttwo(arraytwo);
}


public static void projecttwo(int[]array){
    /*Program that takes 10 numbers as input and displays the mode of these numbers. Program should use parallel
     arrays and a method that takes array of numbers as parameter and returns max value in array*/
    int modetracker[] = new int[10];
    int max = 0; int number = 0;
    for (int i = 0; i < array.length; i++){
        modetracker[array[i]] += 1;     //Add one to each index of modetracker where the element of array[i] appears.
    }

    int index = 0;
    for (int i = 1; i < modetracker.length; i++){
        int newnumber = modetracker[i];
        if ((newnumber > modetracker[i-1]) == true){
            index = i;
        }
    } System.out.println(+index);

}
}
9
задан pearbear 24 January 2012 в 17:15
поделиться