gpt4 book ai didi

Java-打破内部循环

转载 作者:行者123 更新时间:2023-12-01 20:11:09 26 4
gpt4 key购买 nike

我有一个二维数组,需要创建一个 for 循环来遍历每一行,并在整数停止连续增加时找到索引+1。例如,如果第一行是 {1,2,3,4,9,10,11,20},我的方法应该设置 count1 = 4。 Break 语句旨在终止内循环并转到外循环的下一个序列。

 public static int[][] reshuffle(int[][] board) {
int count1 =0;
int count2 =0;
int count3 =0;
int count4 =0;
for(int i=0;i<4;i++) {
for (int j = 0; j < 14; j++) {
if (i==0 && board[i][j] + 1 != board[0][j + 1]) {
count1 = j+1;
break;
} else if (i==1 && board[i][j] + 1 != board[1][j] + 1) {
count2 = j+1;
break;
} else if (i==2 && board[i][j] + 1 != board[2][j] + 1) {
count3 = j+1;
break;
} else if (i==3 && board[i][j] + 1 != board[3][j] + 1) {
count4 = j+1;
break;
}

}
}
}

我的程序将为 count1 返回正确的值,但为 count2、count3 和 count4 始终返回 0。这向我表明,break 语句以某种方式终止了外部循环以及内部循环。

最佳答案

我认为你有一个逻辑错误,因为 i = 3 board[i][j] + 1 将等于 board[3] [j] + 1 我想你的意思是这样的:

public static int[][] reshuffle(int[][] board) {
int count1 = 0;
int count2 = 0;
int count3 = 0;
int count4 = 0;

for(int i=0;i<4;i++) {
for (int j = 0; j < 14; j++) {
if (i==0 && board[i][j] + 1 != board[0][j + 1]) {
count1 = j+1;
break;
} else if (i==1 && board[i][j] + 1 != board[1][j + 1]) {
count2 = j+1;
break;
} else if (i==2 && board[i][j] + 1 != board[2][j + 1]) {
count3 = j+1;
break;
} else if (i==3 && board[i][j] + 1 != board[3][j + 1]) {
count4 = j+1;
break;
}
}
}
}

关于Java-打破内部循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46691490/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com