Assignment 7 - Abstract classes, inheritance, compareTo, file I/O, and various uses of the Scanner class