我做一個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