我正在尝试遍历下面的伪代码设置,并且我似乎只能使用for循环和case区分。有没有简单的方法来通过这些?Java - 遍历不同数组长度的3个变量
编辑:为了更清楚起见,我给出了两个二维双坐标数组,给出了PunkteX [i] [m]和PunkteY [i] [m]。这两个数组的长度将始终相同,但整数i和m是可变的。我想通过它们循环,以便将它们组合成类型为Point2D [p]的新2维数组。 Point2D数组的长度将由i和m决定。
int i = punkteX.length; // same as punkteY.length;
int m = punkteX[0].length; // same as punkteY[0].length;
Point2D[] array = new Point2D[i*m];
array[0] = (punkteX[0][m], punkteY[0][m]);
array[1] = (punkteX[1][m], punkteY[1][m]);
array[2] = (punkteX[2][m], punkteY[2][m]);
.
.
array[i-1] = (punkteX[i-1][m], punkteY[i-1][m]);
array[i] = (punkteX[i][m], punkteY[i][m]);
array[i+1] = (punkteX[0][m-1], punkteY[0][m-1]);
array[i+2] = (punkteX[1][m-1], punkteY[1][m-1]);
array[i+3] = (punkteX[2][m-1], punkteY[2][m-1]);
.
.
array[p-1] = (punkteX[i-1][0], punkteY[i-1][0]);
array[p] = (punkteX[i][0], punkteY[i][0]);
我的企图,为了完整起见,这似乎只对我的工作= 3如下:
for (int p = 0; p < array.length; ++p) {
for (int m = 0; m < mtimes; ++m) { // mtimes = column length of PointX and PointY Arrays
Point2D[] interimarray = new Point2D[n]; // Global var n = i
for (int i = 0; i < interimarray.length; ++i) {
p = (p+i);
if (i == (interimarray.length-1)) { p -= 1; }
if (p < (array.length)) {
array[p] = new Point2D(xArray[i][(mtimes-m-1)], yArray[i][(mtimes-m-1)]);}
if ((p!= 0) && (i==(n-1))) { p += 1; }}}}
你会更好地解释你试图在这个伪代码中实现什么 - 这是不明显的你想要做什么。 – 2014-10-07 16:10:34
是的,这很混乱。我不知道你要在这里做什么。你有一个数据结构,你正试图通过它吗?或者你是否试图创建一个数据结构并浏览它? – sage88 2014-10-07 16:10:58
另外还应该补充说,由于事实不清楚,它有可能被关闭。 – 2014-10-07 16:12:33