Practical Coding in Java

Learn to write and validate your own code

Darren Kessner, PhD

(revised October 21, 2025)

Previous: Animal

Zoo

//
// Zoo.java
//


import java.util.*;


public class Zoo
{
    // print stuff

    public static void printAnimals(ArrayList<Animal> animals)
    {
        for (Animal a : animals)
        {
            System.out.println(a.getName() + " is a " + 
                a.getColor() + " " + a.getType());
        }
        System.out.println();
    }

    // calculation

    public static double averageAge(ArrayList<Animal> animals)
    {
        double sum = 0;

        for (Animal a : animals)
            sum += a.getAge();

        return sum / animals.size();
    }

    // filter

    public static ArrayList<Animal> getDogs(ArrayList<Animal> animals)
    {
        ArrayList<Animal> dogs = new ArrayList<Animal>();

        for (Animal a : animals)
        {
            if (a.getType().equals("dog"))
                dogs.add(a);
        }

        return dogs;
    }

    // transform

    public static ArrayList<String> getNames(ArrayList<Animal> animals)
    {
        ArrayList<String> result = new ArrayList<String>();

        for (Animal a : animals)
            result.add(a.getName());

        return result;
    }

    public static void main(String[] args)
    {
        System.out.println("Hello, zoo!\n");

        ArrayList<Animal> animals = new ArrayList<Animal>(); 

        animals.add(new Animal("Gadget", "cat", 5, "black and white"));
        animals.add(new Animal("Tux", "cat", 5, "black and white"));
        animals.add(new Animal("Tum tum", "turtle", 9, "green and red"));
        animals.add(new Animal("Marlow", "dog", 9, "brown"));

        System.out.println("animals:");
        printAnimals(animals);

        System.out.println("average age: " + averageAge(animals));
        System.out.println();

        ArrayList<Animal> dogs = getDogs(animals);
        System.out.println("dogs:");
        printAnimals(dogs);

        ArrayList<String> names = getNames(animals);
        System.out.println("names:");
        for (String name : names)
            System.out.println(name);
    }

}

Output:

Hello, zoo!

animals:
Gadget is a black and white cat
Tux is a black and white cat
Tum tum is a green and red turtle
Marlow is a brown dog

average age: 7.0

dogs:
Marlow is a brown dog

names:
Gadget
Tux
Tum tum
Marlow

Next: