We use only a small subset of Java. While we stop short of formally defining the
subset that we use, you will see that we make use of relatively few Java constructs, and
that we emphasize those that are found in many modern programming languages. The
code that we present is complete, and our expectation is that you will download it and
execute it, on our test data or test data of your own choosing.