01: /** 02: A country with a name and area. 03: */ 04: public class Country implements Comparable 05: { 06: /** 07: Constructs a country. 08: @param aName the name of the country 09: @param anArea the area of the country 10: */ 11: public Country(String aName, double anArea) 12: { 13: name = aName; 14: area = anArea; 15: } 16: 17: /** 18: Gets the name of the country. 19: @return the name 20: */ 21: public String getName() 22: { 23: return name; 24: } 25: 26: /** 27: Gets the area of the country. 28: @return the area 29: */ 30: public double getArea() 31: { 32: return area; 33: } 34: 35: 36: /** 37: Compares two countries by area. 38: @param otherObject the other country 39: @return a negative number if this country has a smaller 40: area than otherCountry, 0 if the areas are the same, 41: a positive number otherwise 42: */ 43: public int compareTo(Object otherObject) 44: { 45: Country other = (Country) otherObject; 46: if (area < other.area) return -1; 47: if (area > other.area) return 1; 48: return 0; 49: } 50: 51: private String name; 52: private double area; 53: }