I hope in collection of Java books, two of them are
Java CookBook, Java in a Nutshell of O'Reilly, and the
other is Java Programming Language 3rd. Ed of Sun. I
only pass to you the wisdom that I learned from my
professor many moons ago.
Books give you the vocabulary of the particular
language. Algorithm provides the meanning of the
paragraph.
Your instructor might pushing your creativity and what
I see in your program are GUI, String I/O, Stream I/O,
Stack Collection, and Trigonometry level math.
Depended on school, Stack Collection and Hashtable
usually belong in the intermediate level of Java
Programming.
Sorry, I do not have any similar example. But if you
dissect the program out, you will prevail.