Java: 二维数组转化为一维数组组织和随机数

Java: 2D array into 1D array with organisation and random numbers

我想汇总每位参赛者从每位评委那里得到的分数(这是存储在二维数组中的),我希望将其汇总到一维数组中。例如:

Contestant 1:

Judge 1: 5 points

Judge 2: 3 points

The method should do this: array[0] = 5+3

这是我创建的,但是如果 judge 大于 contestant,它就不起作用,我也不相信它能正常工作。我试过调试但没有任何进一步的成功。 allPoints 是包含所有信息的二维数组;例如,allPoints[0][0]judge 1contestant 1 的值。

有什么想法吗?

int output = 0;
        for (int t = 0; t < judge; t++) {
            for(int i = 0; i < contestant; i++) {
                output += allPoints[t][i];
            }
            Sum[t] = output;
            output = 0;
        }

可能你搞混了。 如果我完全猜出你的问题那么解决方案是

    int output = 0;
    for(int i=0; i<contestant; i++){
        for(int t=0; t<judge; t++){
            output+= allPoints[t][i];  //It has a chance to be  allPoints[i][t] according how  you generate allPoints
        }
        Sum[i] = output;
        output = 0;
    }

对于每个contestant计算所有judge给出的总分,并将其放入Sum。所以 Sum 保存每个 contestant 的总分。

如果allPoints[i][j],如果i是评委,j是选手。你需要验证这一点。正确的代码是:

int output = 0;
for (int j = 0; j < contestant; j++) {
    for(int i = 0; i < judge; i++) {
        output += allPoints[i][j];
    }
    Sum[j] = output;
    output = 0;
}

基本上每位参赛者需要将每位评委给出的分数相加。你现在要做的是,你对每位评委将他给所有参赛者的分数加起来。