Description
Objective
To build a complete working Java program that applies arrays and list processing.
Overview & Instruction
Write a menu-driven to analyze population data. You are provided with a (significantly large)
comma-delimited file countyPopData1017.txt that includes the following fields:
{FIPScode) {county} (state} {8 more fields with 2010-2017 county populations}
You program should read the entire contents of the file into either parallel arrays or one array of objects.
Create a simple menu-driven interface driven by layers of dialog boxes. Offer the user choices for
analyzing population data and trends. Offer the following choices:
Search for…
County population by year
County population change
State population by year
State population change
U.S. population by year
by prompting for …
FIPS code, year
FIPS code, startYear, endYear
Two-char state code, year
Two-char state code, startYear, endYear
Year
For all county searches, be sure to include the county name in the output dialog presented to the user.
Allow the user to go back to a “main menu” when a query is completed. They can then be offered the
option to submit another request. To enable this efficiently, be sure to load the data from the file into the
array(s) only once at the launch of the program. Use the speed of array searches to retrieve the info
instead of reloading the file for each transaction.
Be sure to build in error messages for incorrect FIPS codes or state codes. Years must also be in the range
of 2010 to 2017.
Finally, also be sure to consider modularity in this program whether using a procedural approach or an
object oriented approach.

