1

私の Java コーディング クラスの宿題は、倍精度の 2 次元配列と整数の 2 次元配列の不規則な 2 次元配列の平均を求めることです。私のコードは正しいと思いますが、配列を平均化するのではなく、2 で割っているだけです。

コード:

public static void main(String[] args) {
    // adds to 22
    double[][] a = {{7.0, 6.0, 5.0}, {3.0, 1.0}};

   //adds to 48
    int[][] b = {{4, 6}, {9, 8, 10, 11}};
    int i = 0;
    System.out.println("arrayAverage = " + arrayAverage(a));
    System.out.println("arrayAverage = " + arrayAverage(b));
}

/**
 * computes the average for an array of a double
 */
public static double arrayAverage(double a[][]) {
    double sum = 0.0;

    for (int i = 0; i < a.length; i++) {
        for (int j = 0; j < a[i].length; j++) {
            sum += a[i][j];

        }

    }

    System.out.println("Calculating Double Array");
    return sum / a.length;
}
/**
 * Computes the average for an array of integers.
 */
public static int arrayAverage(int b [][]) {
    int sum = 0;

    for (int i = 0; i < b.length; i++) {
        for (int j = 0; j < b[i].length; j++) {
            sum += b[i][j];

        }

    }

    System.out.println("Calculating Integer Array");
    return sum / b.length;
}

}

run:
Calculating Double Array
arrayAverage = 11.0
Calculating Integer Array
arrayAverage = 24
BUILD SUCCESSFUL (total time: 0 seconds)
4

2 に答える 2

0

これがrgettmanの意味です

    public static void main(String[] args) {

        double[][] a = {{7.0, 6.0, 5.0}, {3.0, 1.0}};
        int[][] b = {{4, 6}, {9, 8, 10, 11}};
        System.out.println("arrayAverage = " + arrayAverage(a));
        System.out.println("arrayAverage= " + arrayAverage(b));

    }


/**
 * computes the average for an array of a double
 */
public static double arrayAverage(double a[][]) {

    double sum = 0.0;
    int count = 0; 

    for (int i = 0; i < a.length; i++) {
        for (int j = 0; j < a[i].length; j++) {
            sum += a[i][j];
            count++;

        }

    }

    System.out.println("Calculating Double Array");

    return sum / count;
}





/**
 * Computes the average for an array of integers.
 */
public static int arrayAverage(int b [][]) {
    int sum = 0;
    int count = 0; 

    for (int i = 0; i < b.length; i++) {
        for (int j = 0; j < b[i].length; j++) {
            sum += b[i][j];
            count++;


        }

    }

    System.out.println("Calculating Integer Array");
    return sum / count;
}


}

あなたは正しい答えを得るはずです:)

于 2013-05-02T09:57:06.703 に答える