Java 如何在二维数组中查找数字并排除一些?
我有一个2D数组,其中填充了随机数[0,3],不包括主对角线0。这是一个运动表,其中0表示损失,1表示平局,2表示胜利。另外,如果a[1][2]=0,则a[2][1]=2。我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;
已经完成了。任务是输出没有损失的团队数量(列数)。如何做到这一点?我尝试了。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
更准确。但是平局可以被视为输球。这取决于问题的情况。