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




Вы используете целочисленное деление, поэтому вам не хватает нецелой части каждого деления.
Вообще говоря, среднее значение ряда int не обязательно должно быть int само по себе. Вместо этого вы должны использовать doubles:
double getAvergage(int[] x) {
double sum = 0;
for (int element : x) {
sum += element;
}
return sum / x.length;
}
Это не то, как вы вычисляете среднее значение. Сначала вы суммируете все элементы, затем, наконец, делите результат на длину. Это не то, что делает ваш код. Кроме того, почему вы называете
getSum()метод, который вычисляет среднее значение?