Как вернуть значение из метода, который имеет массив в своем параметре в Java? - PullRequest
3 голосов
/ 10 января 2012

У меня есть этот код, но он не работает!

public class Trial
{
    public static void main (String [] args)
    {
        int average;
        int m = 0;

        int [] nums = {1,6,8,9,10,60,72};

        average = getAverage(int [] nums);
    }

    public static int getAverage(int [] a)
    {
        int sum = 0;
        for(int i=0; i<a.length; i++)
            sum = sum +a[i];

        int avg = sum/a.length;
        return avg;
    }
}

В чем проблема?Мне нужно получить среднее значение этого массива, вызвав метод, который вычисляет среднее значение.

Ответы [ 4 ]

8 голосов
/ 10 января 2012

Измените вызов метода:

average = getAverage(nums);
3 голосов
/ 10 января 2012

Я вижу две проблемы:

  1. average = getAverage(int [] nums) должен читать average = getAverage(nums).
  2. Функция возвращает int.Вы можете рассмотреть возможность использования математики с плавающей точкой для результата.В противном случае вы усекаете ответ до ближайшего int.
1 голос
/ 10 января 2012
average = getAverage(int [] nums); //this is wrong

average = getAverage(nums); //this is right. Just sintaxis.
0 голосов
/ 10 января 2012

avg может быть значением с плавающей запятой, но ваша реализация всегда будет возвращать целое число.

Рассмотрите возможность использования значения с плавающей запятой для sum и avg и измените тип возвращаемого значения на double.

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