My first attempt at teaching myself java, using a single coherent program to bring it all together.