首页 > 解决方案 > 有没有办法遍历 2 个 for 循环,使得 (i+j) > 3

问题描述

我对六角矩阵系统有疑问。我想遍历 2 个长度为 6 的数组,但我需要从六边形中排除“菱形”组合。所以这意味着 i+j 的值需要大于 3 且小于 13。下面是一些代码,您可能会更好地理解:

public static void main(String args[]) {
    int i, j;
    for(i=0; (i+j)>3 && i<9; i++) {
        for (j=0; (i+j)>3 && j<(9); j++) {
            System.out.println(i);
            System.out.println(j);
        }
    }
}

所以我希望输出为 0,4 , 1,3 , 2,2 , 3,1 , 4,0 以及以上所有内容直到 4,8 , 5,7 , 6,6 , 7,5 , 8,4

我希望这已经足够清楚了,是的,我知道我所拥有的永远不会输出我期望它做的事情,但这就是整个问题:)

标签: javaarraysmatrix

解决方案


不要过度复杂化 for 循环。

public static void main(String args[]) {
  for(int i = 0; i < 9; i++) {
    for (int j = 0; j < 9; j++) {
      if ((i + j) > 3 && (i + j) < 13) {
        System.out.println(i + ", " + j);
      }
    }
  }
}


推荐阅读