我在尝试找到这个答案的解决方案时遇到了很多麻烦,因为很难专门搜索它。不过,我会尽力解释清楚。
目前我有以下代码:
for(int x = 0; x < 10000; x++){
for(int z = 0; z < 10000; z++){
if(!exists(x + ";" + z)){
return x + ";" + z;
}
}
}
这几乎是我想要做的,除了数字“生成”的方式是这样的:
0;0 0;1 0;2 0;3 ... 0;9999 1;0 1;1
我希望数字以下列“或类似”方式生成,同时仍然确保每个组合都存在。
0;0
1;0
1;1
0;1
我创建了一个 image显示数字应该如何生成。它可以从下到左或从左到下。 ( See image )
谢谢!
最佳答案
int len = 3;
for (int i = 0; i < len; i++) {
for (int j = 0; j <= i; j++) //println(i+";"+j);
for (int k = i-1; k >= 0; k--) //println(k+";"+i);
}
在上面的代码中,len
用于定义正方形的长度(len
在上面是 3,表示 3 x 3)。在您自己的代码中,您选择了 10000,但这对于打印值来说太大了
您想要的最简单的方法是使用两个内部循环,一个处理垂直,另一个处理水平。除此之外,只需任意选择哪个处理每个 i
迭代的角。在上面的代码中,j
循环处理极端情况
关于java - 以某种方式生成 X 和 Y ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27885028/