I have a class Floor which has a Stack of Blocks and I don’t know how to initialize it. I had tried like this:
public class Floor {
private Stack<Block> stack;
private static int size;
public void setStack(Stack<Block> stack) {
this.stack = stack;
}
public void addBlock(Block b){
stack.push(b);
}
}
public class InputDevice {
Block a0=new Block('I',false);
Floor [] floor=new Floor[5];
Stack<Block> stack=new Stack<Block>();
floor[0].setStack(stack);
floor[0].addBlock(a0);
}
You’ve not initialized any of the Floor objects in the array yet. When you create an array of objects it’s like creating an egg carton. You can’t use any eggs until you put some in the carton first. You can’t use any objects in the array before you’ve initialized them, which is often done within a for loop. i.e.,