java - 如何从某个位置开始迭代二维数组?

标签 java arrays matrix

我必须将棋子移动到整个矩阵中的随机位置 X:

在每个新位置,我都会将其与该位置的值进行比较(为简单起见,矩阵中唯一的部分是 X)。如果 X 从 0 开始,这样做会很容易,但在我的情况下,X 部分可以从矩阵中的任何位置开始,现在我首先从这个循环开始:

for(int i = row_x;i<rows;i++)
    for(int j = col_x;j<cols;j++)
        //do something

但是这样做只会让我访问一些字段:vistied fields sample

我需要访问图中突出显示的所有字段:required

那么解决这个问题最简单的方法是什么?

最佳答案

您应该检查它是否是外循环的第一次迭代:

for(int i = row_x; i < rows; i++)
  for(int j = (i == row_x ? col_x : 0); j < cols; j++)
    //do something

关于java - 如何从某个位置开始迭代二维数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45410682/

相关文章:

java - Android:为布局设置固定高度?

javascript - 以数组形式读取和写入数据到 cookie

javascript - 如何将文本字段的值拆分为包含每个字符的数组,而不是访问该数组?

r - 将数值向量转换为 boolean 矩阵

C:需要将二维数组的某些部分写入新的二维数组

java - JPA 2 TypedQuery 中的 Like 子句仅适用于某些名称参数,而其他则不适用

java - 同一列的多个条件

java - 如何将 JDBC ResultSet 检索为 ArrayList?

php - 如何在 CURLOPT_POSTFIELDS 中包含数组数据?

Matlab 绘制三维矩阵