Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:计算(和“删除”)2D数组的最大/最小值_Java_Arrays - Fatal编程技术网

Java:计算(和“删除”)2D数组的最大/最小值

Java:计算(和“删除”)2D数组的最大/最小值,java,arrays,Java,Arrays,我希望该方法计算2D数组中的所有最大/最小值poängInsamling。每个domare(=judge)为所有deltagare(=members)提供一个值。我想删除每个deltagare的最大/最小值。我现在的代码只有在2或更少的成员时才有效 这就是我得到的: for (int x = 0; x < deltagare; x++) { for (int y = 0; y < domare; y++) { i

我希望该方法计算2D数组中的所有最大/最小值
poängInsamling
。每个
domare
(=judge)为所有
deltagare
(=members)提供一个值。我想删除每个
deltagare
最大/最小值。我现在的代码只有在
2
或更少的成员时才有效

这就是我得到的:

        for (int x = 0; x < deltagare; x++) {
            for (int y = 0; y < domare; y++) {
                if (poängInsamling[y][x] == -1) {
                    poängInsamling[y][x] = 0;
                    break;
                }       
            }
        }
    return poängInsamling;
}
for(int x=0;x
提前谢谢你,我已经试了好几个小时了

编辑:
int[]PoängInsamling=int[domare][deltagare]


如果所有deltagare都具有相同的值,则它们的所有点最终都为0。

您正在搜索整个二维数组,以便删除所有成员中的最低值和最高值,但您只希望删除当前成员的最低值和最高值。如果跟踪具有最大/最小值的索引,则可以消除第二个循环

例如,对于最大值(最小值将类似):

int max=-1;
int maxIndex=-1;
for(int i=0;imax){
max=poängInsamling[t][i];
maxIndex=t;
}       
}
//清除当前成员的最大值
poängInsamling[maxIndex][i]=-1;
}

poängInsamling
deltagare
之间的联系是什么——2D数组中的哪些点代表单个
deltagare
的(int i=0;i
看到这一行了吗?你应该删除那个分号。@Mick助记符查看我的编辑。谢谢。@wadda_wadda不知道它是如何到达那里的……但是,不幸的是,这并不能解决我的问题。谢谢谢谢!但是minimumIndex也应该是-1吗?@Habbo你初始化它到什么并不重要(因为你无论如何都会覆盖它的值).
-1
会很好。请检查我的编辑。如果所有成员由3名评委获得值=3,他们的分数应该是3(max=3和min=3),但他们最终得到的值是6。@Habbo我相信你应该将
If(poängInsamling[t][I]If(poängInsamling[t][I]=0)
,正如您在原始代码中所做的那样。否则,您将始终发现最小值为-1(最大值已更改为-1)。谢谢!为您干杯!
    int max = -1;
    int maxIndex = -1;
    for(int i = 0; i < deltagare; i++) {
        max = -1; // clear the max value when starting with a new member
        maxIndex = -1;
        for(int t = 0; t < domare; t++) {
            if (poängInsamling[t][i] > max) {
                max = poängInsamling[t][i];
                maxIndex = t;
            }       
        }
        // clear the max value for the current member
        poängInsamling[maxIndex][i] = -1;
    }