说明: 创建一个常规类,其中一个静态方法可以 处理一维数组: •方法,该方法接受一维数组并返回 元素的平均值。
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。
答案 0 :(得分:2)
您正在使用整数除法,因此缺少每个除法的非整数部分。
通常来说,一系列int
的平均值不必是int
本身。您应该改用double
:
double getAvergage(int[] x) {
double sum = 0;
for (int element : x) {
sum += element;
}
return sum / x.length;
}