Java:具有组织和随机数的二维数组到一维数组

时间:2015-10-24 16:22:23

标签: java arrays 2d

我想总结每位参赛者从每位裁判得到的分数(这是存储在2D数组中),我希望将其归纳为1D数组。例如:

  

参赛者1:

     

法官1:5分

     

法官2:3分

     

该方法应该这样做:array [0] = 5 + 3

这是我创建的内容,但如果judge大于contestant,则无效,我也不相信它能正常运行。我已经尝试过调试而没有任何进一步的成功。 allPoints是包含所有信息的2D数组;例如,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;
        }

2 个答案:

答案 0 :(得分:1)

可能你在循环中混淆了。 如果我完全猜到你的问题,那么解决方案就是

    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的总分。

答案 1 :(得分:1)

如果allPoints [i] [j],如果我是裁判,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;
}

基本上每位参赛者需要总结每位裁判给出的分数。你现在正在做的是每个法官你总结他给所有参赛者的分数。