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。
您正在使用整数除法,因此您错过了每个除法的非整数部分。
一般来说,一系列int
s的平均值不需要是int
本身。您应该使用double
s代替:
double getAvergage(int[] x) {
double sum = 0;
for (int element : x) {
sum += element;
}
return sum / x.length;
}