【发布时间】:2019-07-10 12:59:30
【问题描述】:
我知道我可以使用 for (int i = 0; i < myArray.length; i++) 或增强的 for 循环来完全遍历循环。
但是,我试图通过对角线完全迭代矩形二维数组来创建新的 char[] 数组,同时采用左倾部分(而不是通常的右倾部分)。
换句话说,看下图。我希望每个 char[] 数组都由下图中两条红色对角线之间的所有字符组成。
因此,如果迭代从右上角开始,则创建的第一个数组将是 ['q'],第二个将是 ['e', 'w'],第三个将是 ['d', 'j', 'e'] 等等。
这是图表代码:
private static char[][] bigArray = {
{'a', 'b', 'c', 'd', 'e', 'q'},
{'f', 'g', 'h', 'i', 'j', 'w'},
{'k', 'l', 'm', 'n', 'o', 'e'},
{'p', 'q', 'r', 's', 't', 'r'},
{'u', 'v', 'w', 'x', 'z', 't'}};
尝试迭代左倾对角线会导致很难始终知道我正在使用的数组的长度。特别是因为我创建的新 char[] 数组的长度不同。
有没有办法让 java 停止为我创建的每个数组以特定长度迭代?
【问题讨论】:
-
您可以添加一些代码或图表吗?我不确定我是否理解这里的问题,尤其是 左/右倾斜部分?
-
@molamk 我已经添加了图表。如果您需要更多说明,请告诉我。
-
你能添加图中的代码吗?
-
@driftking9987 我已经添加了。
标签: java arrays multidimensional-array iteration