我做一个Java项目,并已经建造了一个多边形是这样的:Java:访问多维数组中行的元素?
DPolygons[NumberOf3DPolygons] = new DPolygon(new double[]{0, 2, 2, 0}, new double[]{0, 0, 0, 0}, new double[]{0, 0, 3, 3}, Color.red);
,而类DPolygon具有下面的构造:
public DPolygon(double[] x, double[] y, double[] z, Color c)
{
Screen.NumberOf3DPolygons++;
this.x = x;
this.y = y;
this.z = z;
this.c = c;
createPolygon();
}
我想要做的是计算的总和它的Z坐标(在这种情况下会= 6) 这是我脑子里想的:
sum = DPolygons[NumberOf3DPolygons].z[0]+DPolygons[NumberOf3DPolygons].z[1]+
DPolygons[NumberOf3DPolygons].z[2]+DPolygons[NumberOf3DPolygons].z[3];
但是它给出了一个NullPointerException
,因为它不会将DPolygons[NumberOf3DPolygons].z[0]
识别为多边形的第一个z值等等。
有人可以给我一个线索什么是访问每个这些z元素的正确语法? (或者我怎么能得到那个数额?)
你有没有考虑过使用for循环? – bhspencer
你在构造函数中增加'NumberOf3DPolygons';大概你宣布'DPolygons []'为'new DPolygons [SOME_NUMBER]',否则你会得到一个IndexOutOfBoundsException。没有'DPolygons [NumberOf3DPolygons]',只有'DPolygons [NumberOf3DPolygons -1]'。 – Kenney
Screen.NumberOf3DPolygons ++是做什么的?它是否与您用于DPolygons [NumberOf3DPolygons]的索引相同? – SomeDude