Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.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 如何在二维数组中查找数字并排除一些?_Java_Arrays_Sorting_Multidimensional Array - Fatal编程技术网

Java 如何在二维数组中查找数字并排除一些?

Java 如何在二维数组中查找数字并排除一些?,java,arrays,sorting,multidimensional-array,Java,Arrays,Sorting,Multidimensional Array,我有一个2D数组,其中填充了随机数[0,3],不包括主对角线0。这是一个运动表,其中0表示损失,1表示平局,2表示胜利。另外,如果a[1][2]=0,则a[2][1]=2。我已经完成了。任务是输出没有损失的团队数量(列数)。如何做到这一点?我尝试了。contains(),仅适用于字符串。它还必须排除带有0的主对角线。II已经完成了: public static void getFlawless(int[][] a, byte n) { byte i = 0; short sum;

我有一个2D数组,其中填充了随机数[0,3],不包括主对角线0。这是一个运动表,其中0表示损失,1表示平局,2表示胜利。另外,如果a[1][2]=0,则a[2][1]=2。我
已经完成了。任务是输出没有损失的团队数量(列数)。如何做到这一点?我尝试了。contains(),仅适用于字符串。它还必须排除带有0的主对角线。I
I已经完成了:

public static void getFlawless(int[][] a, byte n) {
    byte i = 0;
    short sum;
    for (byte j = 0; j < n; j++) {
        sum = 0;
        i = 0;
        while (i < n) {
            if (a[j][i] == 0) {
                sum++;
                i++;
            } else {
                i++;
            }
        }
        if (sum < 2) {
            System.out.println("Team " + (j + 1) + " is flawless.");
            sum = 0;
        }
    }
}
publicstaticvoid-getfairless(int[]a,字节n){
字节i=0;
短款;
用于(字节j=0;j
根据我对您问题的理解,也许这就是您想要实现的目标:

public static void getFlawless(int[][] a, byte n) {
    int j = 0;

    for (int i = 0; i < n; i++) {
        while (j < n) {
            if (i == j) { j++; continue; }
            if (a[i][j++] != 2) { break; }
        }

        if (j == n) {
            System.out.println("Team " + (i+1) + " " + "is flawless!");
        }

        j = 0;
    }
}
publicstaticvoid-getfairless(int[]a,字节n){
int j=0;
对于(int i=0;i
根据我对您问题的理解,也许这就是您想要实现的目标:

public static void getFlawless(int[][] a, byte n) {
    int j = 0;

    for (int i = 0; i < n; i++) {
        while (j < n) {
            if (i == j) { j++; continue; }
            if (a[i][j++] != 2) { break; }
        }

        if (j == n) {
            System.out.println("Team " + (i+1) + " " + "is flawless!");
        }

        j = 0;
    }
}
publicstaticvoid-getfairless(int[]a,字节n){
int j=0;
对于(int i=0;i
请编辑您的问题,使其易于理解,或者添加一些代码来解释您的结构和当前解决方案。只需逐列迭代-您尝试过吗?请编辑您的问题,使其易于理解,或者添加一些代码来解释您的结构和当前解决方案。只需逐列迭代-您尝试过吗我在想类似的事情,我在这里唯一的评论是我对“完美”这个问题的理解意味着没有输球,所以平局是可以的,因此
!=2
条件可以更改为
==0
@JoakimDanielson你是对的,也许
==0
更准确。但是平局可以被视为输球。这取决于问题的条件。我在想一些类似的事情,我在这里的唯一评论是我阅读的方式“完美无瑕”的问题意味着没有输球,所以平局是可以的,因此
!=2
条件可以更改为
==0
@JoakimDanielson你是对的,也许
==0
更准确。但是平局可以被视为输球。这取决于问题的情况。