3

我正在制作一种采用数组列表并找到数字平均值的方法。我知道我的方法有效,因为我只是将它从我的主要方法移到了“平均”方法。我只是在让数组使用该方法时遇到问题。

我不确定通过调用该方法是否错了average(a);,或者是因为该方法写为public static void average(double[] a){

有人能指出我正确的方向吗?

public class Ass10{

    public static void main(String[] args) {
        System.out.println("asdf");
        int a[] = {1, 2, 3,4};
        average(a);
      }

    public static void average(double[] a){
        int sum = 0;

        for (int counter = 0; counter<a.length;counter++){
            sum += a[counter];
        }
                System.out.println(sum/a.length)

        }
4

2 回答 2

1

您可以尝试更改public static void average(double[] a)public static void average(int[] a)

于 2012-11-25T12:06:40.550 回答
1

intdouble在 Java 中是原语而不是对象。此外,它们的数组不是协变的。(数组的协方差意味着如果 A 扩展 B,则 A[] 扩展 B[])

因此,您不能在需要的double[]地方int[]使用。这应该做public static void average(int[] a){

其次,sum += a[counter];会导致精度损失 as sumis typeintais of typedouble

于 2012-11-25T12:09:25.933 回答