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

intJava ではオブジェクトでdoubleはなくプリミティブです。さらに、それらの配列は共変ではありません。(配列平均の共分散は、A が B を拡張し、A[] が B[] を拡張する場合)

double[]したがって、必要な場所は使用できませんint[]。これはすべきですpublic static void average(int[] a){

第二に、タイプとタイプsum += a[counter];の精度が失われますsumintadouble

于 2012-11-25T12:09:25.933 に答える