Reputation: 226
I made a program that uses a 2D array to draw a grid, but I am getting a null pointer exception. Here is my code:
Cell[][] Cells;
void setup(){
size(500,500);
background(255);
for (int x = 0; x < 50; x++) {
for (int y = 0; y < 50; y++) {
Cells[x][y] = new Cell(round(random(255)),x * 10,y * 10,10,10);
}
}
}
void draw(){
for (int x = 0; x < 50; x++) {
for (int y = 0; y < 50; y++) {
Cells[x][y].Draw();
}
}
}
class Cell{
int X;
int Y;
int Width;
int Height;
int Color;
Cell(int C,int X,int Y,int Width,int Height){
Color = C;
X = X;
Y = Y;
Width = Width;
Height = Height;
}
void Draw(){
fill(Color);
rect(X,Y,Width,Height);
}
}
and here is the error message:
Exception in thread "Animation Thread" java.lang.NullPointerException
at Grid.setup(Grid.java:27)
at processing.core.PApplet.handleDraw(PApplet.java:2103)
at processing.core.PGraphicsJava2D.requestDraw(PGraphicsJava2D.java:190)
at processing.core.PApplet.run(PApplet.java:2006)
at java.lang.Thread.run(Thread.java:662)
what am I doing wrong?
Upvotes: 0
Views: 106
Reputation: 10151
You missed to create the array:
Cell[][] cells = new Cell[50][50];
Upvotes: 1