我想定义一个网格,在其中我为网格中的每个点指定(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};
}
}
之所以如此,是因为我将有序网格的值映射到无序网格。上面的代码当然会导致异常(意外的标记“{”)。
做我想做的最好的方法是什么?感谢。
答案 0 :(得分:3)
两件事:
像这样初始化你的数组(如果你没有)
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);;
}
}
答案 1 :(得分:1)
您基本上想在每个阵列单元格中存储固定数量的值吗? 然后你受限于2个主要案例:
long
)。 (你必须非常小心) int
为32位,因此您可以在1 int
中打包2 long
。
答案 2 :(得分:0)
pt[x][y] = {xval, yval}
是非法的,pt[][]
是一个双维数组。它只能存储一个值。就像这个pt[x][y] = value
你可以试试java map。