I've been set the task of creating a basic earthquake monitoring program.
The classes for the program are:
Earthquake: store and retrieve data on magnitude, position (latitude & longitude) and year.
Observatory: store and retrieve data on name of observatory, country in which it's located, year in which observations began, area covered by observatory (in sq/kms) and list of earthquakes recorded by it.
Includes methods to return: the largest magnitude earthquake recorded by the observatory, the average earthquake magnitude recorded by the observatory, a list of all methods recorded by the observatory with a magnitude greater than a given number.
Monitoring: Holds information about all observatories. Includes methods to return: the observatory with the largest average magnitude, the largest magnitude earthquake ever recorded, a list of all earthquakes recorded with a magnitude greater than a given number
Any help would be hugely appreciated.
1
Expert's answer
2016-11-22T12:57:14-0500
import java.util.ArrayList;
public class Monitoring { private ArrayList<Observatory> observatoryList;
public Monitoring() { observatoryList = new ArrayList<>(); }
public Observatory getAverageMax() { double x = 0.0; Observatory ans = null; for (Observatory o: observatoryList) { if (x < o.getAverage()) { x = o.getAverage(); ans = o; } }
return ans; }
public int largestMagnitude() { int ans = 0;
for (Observatory o: observatoryList) { ans = Math.max(ans, o.largestMagnitude()); }
return ans; }
public ArrayList<Earthquake> greater(int n) { ArrayList<Earthquake> ans = new ArrayList<>();
for (Observatory o: observatoryList) { ArrayList<Earthquake> earthquakes = o.greater(n);
for (Earthquake e: earthquakes) { ans.add(e); } }
return ans; } }
class Earthquake { private int magnitude; private double latitude; private double longitude; private int year;
public Earthquake(int newMagnitude, double newLatitude, double newLongitude, int newYear) { magnitude = newMagnitude; latitude = newLatitude; longitude = newLongitude; year = newYear; }
public int getMagnitude() { return magnitude; }
public double getLatitude() { return latitude; }
public double getLongitude() { return longitude; }
public int getYear() { return year; } }
class Observatory { private String name; private String country; private int year; private double area; private ArrayList<Earthquake> earthquakeList;
public Observatory(String newName, String newCountry, int newYear, double newArea) { name = newName; country = newCountry; year = newYear; area = newArea;
earthquakeList = new ArrayList<>(); }
public String getName() { return name; }
public String getCountry() { return country; }
public int getYear() { return year; }
public double getArea() { return area; }
public void addEarthquake(Earthquake e) { earthquakeList.add(e); }
public int largestMagnitude() { int ans = 0;
for (Earthquake e: earthquakeList) { ans = Math.max(ans, e.getMagnitude()); }
return ans; }
public double getAverage() { double s = 0.0;
for (Earthquake e: earthquakeList) { s += e.getMagnitude(); }
return s / earthquakeList.size(); }
public ArrayList<Earthquake> greater(int n) { ArrayList<Earthquake> ans = new ArrayList<>();
for (Earthquake e: earthquakeList) { if (e.getMagnitude() > n) { ans.add(e); } }
Numbers and figures are an essential part of our world, necessary for almost everything we do every day. As important…
APPROVED BY CLIENTS
"assignmentexpert.com" is professional group of people in Math subjects! They did assignments in very high level of mathematical modelling in the best quality. Thanks a lot
Comments
Leave a comment