Как вызвать метод, который принимает массив в качестве параметров в основном методе? - PullRequest
0 голосов
/ 06 мая 2020

Я новичок в Java и в процессе изучения массивов. Я пытаюсь здесь вычесть наибольшее значение из второго по величине элемента в массиве. Мне не нужна помощь с процессом кода (верен он или нет), поскольку я считаю, что смогу понять это сам, когда напечатаю массив в консоли.

Однако у меня возникают проблемы с вызовом метода diff для работы с массивом, который я дал. Вот код:

package com.Practice;

import java.util.Arrays;

public class Main {

public static int diff(int[] a) {
    int largest = 0;
    int secLargest = 0;

    for (int i = 0; i < a.length; i++) {
        if (a.length < 2) {
            System.out.println("Array less than 2 elements!");
        }
        for (int j = 0; j < a.length; j++) {
            if (a[i] > a[j]) {
                a[i] = largest;
                largest = a[i];
            }
            if (a[i] < largest) {
                a[i] = secLargest;
            }
        }
    }
    return largest - secLargest;

}

public static void main(String[] args) {

    int[] arr = {22, 3, 2, 55, 34, 56, 34, 123, 56, 34, 21, 5, 65};
    System.out.println("Original Array of numbers = " + Arrays.toString(arr));

// How do get the diff() method to work through the array given above down below?

    for (int i = 0; i < arr.length; i++) {
        System.out.println(diff(arr[]);
    }


}

}

Я был бы признателен за помощь.

Спасибо.

1 Ответ

1 голос
/ 06 мая 2020

Вы должны передать массив без [], и вам не хватает ):

for (int i = 0; i < arr.length; i++) {
     System.out.println(diff(arr));
}

вместо:

for (int i = 0; i < arr.length; i++) {
     System.out.println(diff(arr[]);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...