Way to add instance variable in class?
<p>Hi i'm trying to add all the space requirements of each subclass of animal (tiger, giraffe, penguin) so I can print it out in the zoo class. With my current program (below) i get that every size requirement is 0. Plus some extra random zeros. Help?? Please and thank you!?</p>

<pre><code>  public class Zoo {

    private Animal animal;  
    public int number_animals;//# animals allowed in zoo
    private List&lt;Animal&gt; animal_list;
    private String zoo_name;


    public Zoo(String name){
        this.zoo_name = name;
        animal_list = new ArrayList&lt;Animal&gt;();
    }

     public void addAnimal(Animal obj) {
            animal_list.add(obj);
     }
     public String toString(){
        String s = "In zoo " + zoo_name + " there are the following animals:\n";
        for (int i = 0; i &lt; animal_list.size(); i++){
            s += animal_list.get(i).printDetails() + "\n";
        }
        return s;
     }

     public String countAnimals(){       
         return "There are " + animal_list.size() + " animals in " + zoo_name + "."; 
     }
     public String spaceRequirement(){
         int s = 0;
         int t = 0;
         int k = 0;
         for (int i = 0; i &lt; animal_list.size(); i++){
             if (animal_list.get(i) instanceof Giraffe){
                while (! (animal_list.get(i) instanceof Giraffe))
                s += animal_list.get(i).getSpaceRequired();
            }
             System.out.println(s);
             if (animal_list.get(i) instanceof Penguin){
                    while (! (animal_list.get(i) instanceof Penguin))
                    t += animal_list.get(i).getSpaceRequired();
             }
             if (animal_list.get(i) instanceof Tiger){
                    while (! (animal_list.get(i) instanceof Tiger))
                    k += animal_list.get(i).getSpaceRequired();
             }

         }
         return "Total tree height needed: " + t + "\nTotal water volume needed: " + s + "\nTotal grass area needed: " + k;
     }
     public void printDetails(){
         System.out.println("In zoo " + zoo_name + " there are the following animals:\n" + animal);
     }


public class Animal {

    public String name;
    public int weight;
    private String food_type;
    private int space_area = 0;
    private Zoo zoo;
    private Animal animal;

    public Animal(String name, int weight){
        this.name = name;
        this.weight = weight;
    }    
    public String getName(){
        return this.name;
    }
    public int getWeight(){
        return this.weight;
    }

    public int getSpaceRequired() {
        return this.space_area;
    }

    public void printDailyFoodOrder() {
        return;
    }

    public void setZoo(Zoo zoo){
        this.zoo = zoo;
        this.zoo.addAnimal(this);
    }

    public String printDetails() {
        String a = getName() + " who weighs " + getWeight() + " kg,";
        return a;
        }


}

    public class Giraffe extends Animal {

    private String food_type = "leaves";
    private int leaves;
    private int space_area;
    private int number_giraffes = 0;
    public Giraffe[] giraffe_array;

        public Giraffe(String name, int weight, String food_type, int space_area, int leaves){
        super(name, weight);
        this.food_type = food_type;
        this.space_area = space_area;
        this.leaves = leaves;       
    }       
    public int getNumberGiraffes(){
        return this.number_giraffes;
    }

    public String printDetails(){
        return super.printDetails() + " eats " + this.food_type + ", and needs a tree with a mininum height " + this.space_area + " meters.";
    }

    public int getSpaceRequired() {
        return this.space_area;
    }
}

    public class Penguin extends Animal {

    private String food_type = "fish";
    private int food;
    private int space_area;

    public Penguin(String name, int weight, int food, int space_area){
        super(name, weight);
        this.food = food;
        this.space_area = space_area;
    }
    public int getSpaceRequired() {
        return this.space_area;
    }



    public void calcPoolSize() {

    }
    public String printDetails(){
        return super.printDetails() + " eats " + this.food_type + ", and needs a pool sized " + this.space_area + " cubic meters.";
    }

}


public class Test {

    public static void main(String[] args) {

        Zoo diego = new Zoo("San Diego");
        Animal giffy = new Animal("Giffy", 950);
        giffy = new Giraffe("Giffy", 950, "Leaves", 15, 100);       
        Animal gunther = new Animal("Gunther", 950);
        gunther = new Giraffe("Gunther", 950, "Leaves", 15, 100);
        Animal kevin = new Animal("Kevin", 225);
        kevin = new Tiger("Kevin", 225, 10, 10);
        Animal hobbes = new Animal("Hobbes", 200);
        hobbes = new Tiger("Hobbes", 200, 8, 20);
        Animal wobbles = new Animal("Wobbles", 25);
        wobbles = new Penguin("Wobbles", 25, 5, 125);
        Animal gretchin = new Animal("Gretchin", 15);
        gretchin = new Penguin("Gretchin", 15, 3, 125);
        diego.addAnimal(giffy);
        diego.addAnimal(gunther);
        diego.addAnimal(wobbles);
        diego.addAnimal(hobbes);
        diego.addAnimal(kevin);
        diego.addAnimal(gretchin);
        System.out.println(diego);
        System.out.println(diego.spaceRequirement());
    }

}
</code></pre>
