gpt4 book ai didi

java - 如何交替二维数组中每隔一列的元素顺序

转载 作者:行者123 更新时间:2023-12-02 01:06:26 25 4
gpt4 key购买 nike

空的二维数组a应填充以下值:

1 8 9 16 17
2 7 10 15 18
3 6 11 14 19
4 5 12 13 20

我在弄清楚如何反转列的顺序方面遇到了很多麻烦。这是我得到的最接近的结果:

int [][] a = new int[4][5];
int count = 1;
for(int c = 0; c < a[0].length; c++) {
for(int r = 0; r < a.length; r++) {
a[r][c] = count;
count++;
if(r% 2 == 0 && c % 2 != 0) {
count = 20;
a[r][c] = 20;
count--;
}
}
}

最佳答案

您应该定义一个变量来定义每次迭代时要移动的方向,我将其命名为sign。如果sign为正,则该列将向下填充,否则将向相反方向移动。

int [][] a = new int[4][5];
int count = 1;
int sign = 1;
for(int j = 0 ; j < 5 ; j++){
if(sign==1)
for(int i = 0 ; i < 4 ; i++){
a[i][j]=count;
count++;
}
else
for(int i = 3 ; i >=0 ; i--){
a[i][j]=count;
count++;
}
sign *= -1;
}

如果我们想打印数组,我们将拥有:

for(int i = 0 ; i < 4; i++){
for(int j = 0 ; j < 5; j++)
System.out.print(a[i][j]+"\t");
System.out.println();
}

结果输出为:

1   8   9   16  17  
2 7 10 15 18
3 6 11 14 19
4 5 12 13 20

关于java - 如何交替二维数组中每隔一列的元素顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59996900/

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