Practical Coding in Java

Learn to write and validate your own code

Darren Kessner, PhD

(revised January 9, 2026)

Previous: PetOwner

CrazyPetOwner

//
// CrazyPetOwner.java
//


import java.util.*;


public class CrazyPetOwner
{
    public CrazyPetOwner()
    {
        pets = new ArrayList<Pet>();
    }

    public void addPet(String name, String noise, int fleaCount)
    {
        pets.add(new Pet(name, noise, fleaCount));
    }

    public void greetPets()
    {
        for (Pet p : pets)
        {
            System.out.println("Hello " + p.getName() + "!" + 
                    "  " + p.getNoise());
        }
    }

    public double calculateFleaDensity()
    {
        // average # of fleas / pet

        double result = 0;
        
        for (Pet p : pets)
        {
            result += p.getFleaCount();
        }

        return result / pets.size();
    }

    private ArrayList<Pet> pets;
}
//
// CrazyPetOwnerTest.java
//


public class CrazyPetOwnerTest
{
    public static void main(String[] args)
    {
        System.out.println("CrazyPetOwnerTest");

        CrazyPetOwner drkessner = new CrazyPetOwner();
        drkessner.addPet("Gadget", "meow", 5);
        drkessner.addPet("Tux", "sniff", 7);
        drkessner.addPet("Tum tum", "(bubbles)", 0);
        drkessner.addPet("Chuck", "bark", 10);
        drkessner.addPet("Marlow", "bark", 2);

        drkessner.greetPets();

        System.out.println("Flea density: " + drkessner.calculateFleaDensity());
    }
}

Output:

CrazyPetOwnerTest
Hello Gadget!  meow
Hello Tux!  sniff
Hello Tum tum!  (bubbles)
Hello Chuck!  bark
Hello Marlow!  bark
Flea density: 4.8

Next: