Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Consider a City class that has: private instance variables: private String CityName private String countryName private double[] averageMonthlyRainfall An appropriate constructor The following public methods:

Consider a City class that has:

private instance variables:

private String CityName

private String countryName

private double[] averageMonthlyRainfall

An appropriate constructor

The following public methods:

public String getCityName( )

public String getCountryName( )

public double[ ] getAverageMonthlyRainfall( )

public void addMonthlyAverageRainfall(double rainfall) throws IllegalArgumentException

public void modifyMonthlyRainfall(double rainfall, int monthNum) throws IllegalArgumentException

public String toString( )

public boolean equals(Object obj) - comparison based on cityName and CountryName

Implement a well-structured Java program that uses the City class and CityDriver class to enable a climate scientist to maintain city monthly average rainfalls of up to 12 months. The average rainfall information is kept in a text-file rainfall.txt of the form:

where each line of the text-file contains a city name (a single word), a country name (a single word), followed by up to twelve monthly average rainfall values in millimeters (The above table shows the monthly average rainfall for January, February, and March only)

Note: The initial input file has no rainfall information. It is in the form:

Arusha Tanzania

Athens Greece

Bali Indonesia

DarEsSalaam Tanzania

Dubai UAE

Dublin NorthernIreland

London UK

Manila Philippines

Your CityDriver program must have the following main menu:

1. Display Rainfall Infomation for all cities.

2. Display Rainfall Infomation for a particular city.

3. Display total rainfall for each city.

4. Modify a particular rainfall average for a particular city and country pair.

5. Add monthly rainfall average for the current next month for all cities.

6. Add New city.

7. Delete a city.

8. Exit.

Please select your choice:

Your program must loop as long as option 8 has not been selected. It must display an appropriate error message if an invalid choice is entered. After executing each of the options 1 to 7, your program must pause and display the message: Press Enter key to continue . . . . Your program must display the main menu after pressing the Enter key. Each of the options 1 to 7 must be implemented in a separate private static method. The code for Press Enter key to continue . . . must also be implemented is a separate private static method. Your main method must handle IOException, IllegalArgumentException, and InputMismatchException by displaying an appropriate error message, then waiting for a key press, before returning control to the main menu.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Machine Learning And Knowledge Discovery In Databases European Conference Ecml Pkdd 2015 Porto Portugal September 7 11 2015 Proceedings Part 3 Lnai 9286

Authors: Albert Bifet ,Michael May ,Bianca Zadrozny ,Ricard Gavalda ,Dino Pedreschi ,Francesco Bonchi ,Jaime Cardoso ,Myra Spiliopoulou

1st Edition

3319234609, 978-3319234601

More Books

Students also viewed these Databases questions

Question

How to prove this grammar is unambiguous. S aSb | aSa | bSa | bSb |

Answered: 1 week ago

Question

2. Discuss the steps in preparing a manager to go overseas.

Answered: 1 week ago

Question

8. Measure the effectiveness of the succession planning process.

Answered: 1 week ago