gpt4 book ai didi

java - 按列读取二维数组

转载 作者:行者123 更新时间:2023-12-02 03:18:16 25 4
gpt4 key购买 nike

我有一个二维数组,每个索引处都有一个字符串,例如:

+-----+-----+-----+
| h | l | o |
+-----+-----+-----+
| e | l | * |
+-----+-----+-----+

我知道你可以通过索引 (0,0)、(0,1)、(0,2)、(1,0) 等打印数组,例如:

for (int k = 0; k < transpositionMatrix.length; k++) {
for (int k2 = 0; k2 < transpositionMatrix[k].length; k2++) {
System.out.print(transpositionMatrix[k][k2]);
}
}

但是,我想通过索引 (0,0), (1,0), (2,0) ... (n,0), (0,1), (0,2 ) ... (0,m),其中 n 是行数,m 是行 m 的列数。

换句话说,我想“向下”阅读每一列,而不是跨每一行。

以上面的二维数组为例,向下读取每一列将打印“hello*”,读取每一行将打印“hloel*”。我想实现前者。

如何使用 Java 来完成此操作?

请注意,假定所有行的长度相同。

最佳答案

访问您正在查找的数组的方法称为“列优先排序”。请参阅wikipedia了解列优先顺序和行优先顺序之间的差异。

为了解决您的问题,内部 for 循环应该在外部 for 循环更改列号之前迭代所有行。

for 循环将如下所示:

for (int column = 0; column < transpositionMatrix[0].length; column++) {
for (int row = 0; row < transpositionMatrix.length; row++) {
System.out.print(transpositionMatrix[row][column]);
}
}

关于java - 按列读取二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40008479/

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