我想定义一个网格,在其中为网格中的每个点指定一个 (x,y) 坐标。所以我想做这样的事情:
int [][] pt;
for (x=0; x<numX; x=x+1) {
for (y=0; y<numY; y=y+1) {
pt[x][y] = {xval, yval};
}
}
原因是因为我将有序网格的值映射到无序网格。上面的代码当然会导致异常(意外的标记“{”)。
做我想做的事情的最佳方法是什么?谢谢。
我想定义一个网格,在其中为网格中的每个点指定一个 (x,y) 坐标。所以我想做这样的事情:
int [][] pt;
for (x=0; x<numX; x=x+1) {
for (y=0; y<numY; y=y+1) {
pt[x][y] = {xval, yval};
}
}
原因是因为我将有序网格的值映射到无序网格。上面的代码当然会导致异常(意外的标记“{”)。
做我想做的事情的最佳方法是什么?谢谢。
两件事情:
像这样初始化你的数组(如果你没有)
int[][] pt = new int[numX][numY];
要将这两个值存储在数组中,您需要使用一个对象。java Point类将是您可以使用的示例
Point[][] pt = new Point[numX][numY];
for (x=0; x<numX; x=x+1) {
for (y=0; y<numY; y=y+1) {
pt[x][y] = new Point(xval, yval);;
}
}
您基本上想在每个数组单元格中存储固定数量的值?那么你受限于两种主要情况:
long
如果两个值都小于 64 位,则可以使用按位算术将它们打包为内置的原始类型(例如)。(这里你必须非常小心)int
s 是 32 位的,所以你可以在 1 中打包 2 个int
s long
。
pt[x][y] = {xval, yval}
是非法的,pt[][]
是一个二维数组。它只能存储一个值。像这样pt[x][y] = value
你可以试试java map。