Submit    the    zipped    Eclipse    project including    at    least    Project1.java,    Country.java and   
Countries1.csv.        The    zip    file    should    be    named    <your    last    name>_Project1.zip (for    example,   
Liu_Project1.zip).        The    Countries1.csv    file    contains    information    about    all    155 countries    (and   
regions) in    the    world.        We    shall    call    all    these    places    countries for    our    projects.        The    program   
should    be    well    documented    in    the    format    of    doc    comments    in    Java.        Detailed    formats    are    found   
at    http://www.oracle.com/technetwork/articles/java/index-137868.html.
Requirements:
1. Create a class named Country that will store information about a country and provide
methods to get, and set the data, and compare the countries by several fields.
a. Fields: Name, Code, Capitol, Population, GDP, HappinessRank
b. Constructor
c. Get and set methods for each field
d. Compare method to compare based on Name (expects a Country object as a
parameter)
e. Method to print a country object
2. Create a class named Project1 that will:
a. Prompt user to enter the name of the CSV file, e.g., Countries1.csv, as input to the
system.
b. Parse Countries1.csv and create an array of country objects containing the data in the
file.
c. Offer the user the following options:
1) Print a countries report
2) Sort by Name (alphabetically using Insertion sort)
3) Sort by Happiness Rank (ascendingly using Selection sort)
4) Sort by GDP per capita (descendingly using Bubble sort)
5) Find and print a country for a given name (using binary search if the data is
sorted by name, sequential search if not)
6) Quit
d. Implement the given option, then prompt again. (deal with invalid choice)
Project1 should have main and methods for each option 1-5.
e. The Country report in option 1 should be in this form:  see form in pdf
f. The Country report in option 5 should be in this form:  see form in pdf