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.
Deliverables
Deliver the following to the online course management system dropbox as your final product:
. Upload your source code (.java) file
Notice
This is an individual assignment. You must complete this assignment on your own. You may not discuss your work in detail with
anyone except the instructor. You may not acquire from any source (e.g., another student or an internet site), a partial or complete
solution to a problem or project that has been assigned. You may not show another student your solution to an assignment. You
may not have another person (current student, former student, tutor, friend, anyone) “walk you through” how to solve the
assignment.