Eclipse - 基本数组

问题描述 投票:1回答:1

INSTRUCTION:创建一个常规类,其中一个静态方法可以处理一维数组:•接受一维数组并返回元素平均值的方法。

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。

java arrays eclipse average
1个回答
2
投票

您正在使用整数除法,因此您错过了每个除法的非整数部分。

一般来说,一系列ints的平均值不需要是int本身。您应该使用doubles代替:

double getAvergage(int[] x) {
    double sum = 0;
    for (int element : x) {
        sum += element;
    }
    return sum / x.length;
}
© www.soinside.com 2019 - 2024. All rights reserved.