Затмение — базовый массив

ИНСТРУКЦИЯ: Создайте обычный класс, один статический метод которого может обработать одномерный массив: • метод, который принимает одномерный массив и возвращает среднее значение элементов.

package com.array; //THIS IS A REGULAR CLASS

public class oneDimensional
{
int[] x = {1,2,3,4,5};

static void printElements(int[] x)
{
    for(int i = 0; i < x.length; i++)
    {
        System.out.print(x + " ");
    }
}

int getSum(int[] x)
{
    int sum = 0;
    for(int elements : x)
    {
        sum = (sum + elements)/x.length;
    }
    return sum;
}}



package com.array; //MAIN METHOD
import java.util.Arrays;
public class Test {
    public static void main(String[] args) {
        int[] Elements = {1,2,3,4,5};
        oneDimensional onedime = new oneDimensional();  
        System.out.println(Arrays.toString(Elements));
        int sum = onedime.getSum(Elements);
    System.out.println();
    System.out.println("Sum: " + sum);
}

}

Я не знаю, почему выход (Средний) равен 1. Должно быть 3, а не 1.

Это не то, как вы вычисляете среднее значение. Сначала вы суммируете все элементы, затем, наконец, делите результат на длину. Это не то, что делает ваш код. Кроме того, почему вы называете getSum() метод, который вычисляет среднее значение?

JB Nizet 09.03.2019 11:52
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
1
279
1

Ответы 1

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

Вообще говоря, среднее значение ряда int не обязательно должно быть int само по себе. Вместо этого вы должны использовать doubles:

double getAvergage(int[] x) {
    double sum = 0;
    for (int element : x) {
        sum += element;
    }
    return sum / x.length;
}

Другие вопросы по теме