java - 有没有办法遍历 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
我希望这已经足够清楚了,是的,我知道我所拥有的永远不会输出我期望它做的事情,但这就是整个问题:)
解决方案
不要过度复杂化 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);
}
}
}
}
推荐阅读
- python - 遍历 pandas 中的每一行以评估条件
- macos - 如何将 openssl 静态链接到我的项目?(未定义的架构符号)
- python - 在使用 python 弹出的浏览器中单击复选框
- html - 如何将 CSS 着色应用到这个烧瓶模板?
- c# - 实体 Remove() 将外键属性设置为 null
- gtk - Gtk 绘图图形项目
- python - 在同步文件夹之外重新安装和使用 python3
- php - 使用没有框架的作曲家
- redis-cluster - redis sentinel 未将 SDOWN 升级为 ODOWN 事件
- opencv - OpenCv 为 cv2.matchTemplate 创建模板