Inside printRecipe(), the local variable recipe(passed as an argument) hides the class member with the same name. main() passes an empty HashMap to printRecipe() and that's what gets displayed.
Anissa,
2 things to notice-
1. Your add() method inside Drink class is populating the instance variable "recipe" (present in class Drink).
2. But your printRecipe() method is displaying the local variable recipe" which is present in the main() method, as it is being passed a parameter in the method.
There are many ways to fix it .. one of the way is to replace in main method with this statement,