Country+Region add flag
[Persons_Comparator.git] / src / Country.java
index 2bb786a2c33d92fb2d64eb9fe6302bc1472062f4..2516c2bfdc4172b41d9f5da9b4fc5fdb207bee7e 100644 (file)
@@ -3,13 +3,14 @@ public class Country {
     private String region;
     private double lat;
     private double lng;
+    private String flag;
 
-
-    public Country(String name, String region, double lat, double lng) {
+    public Country(String name, String region, double lat, double lng, String flag) {
         setName(name);
         setRegion(region);
         setLat(lat);
         setLng(lng);
+        setFlag(flag);
     }
 
     public void setName(String name) {
@@ -28,10 +29,41 @@ public class Country {
         this.lat = lat;
     }
 
+    public double getLat() {
+        return lat;
+    }
+
     public void setLng(double lng) {
         this.lng = lng;
     }
 
+    public double getLng() {
+        return lng;
+    }
+
+    public void setFlag(String flag) {
+        this.flag = flag;
+    }
+
+    public String getFlag() {
+        return flag;
+    }
+
+    public int distanceTo(Country country) {
+        if ((this.lat == country.lat) && (this.lng == country.lng)) {
+            return 0;
+        } else {
+            double theta = this.lng - country.lng;
+            Double dist = Math.sin(Math.toRadians(this.lat)) * Math.sin(Math.toRadians(country.lat)) + Math.cos(Math.toRadians(this.lat)) * Math.cos(Math.toRadians(country.lat)) * Math.cos(Math.toRadians(theta));
+            dist = Math.acos(dist);
+            dist = Math.toDegrees(dist);
+            dist = dist * 60 * 1.1515;
+            // Kilometers
+            dist = dist * 1.609344;
+            return dist.intValue();
+        }
+    }
+
     @Override
     public String toString() {
         return "Country{" +
@@ -39,6 +71,7 @@ public class Country {
                 ", region='" + region + '\'' +
                 ", lat=" + lat +
                 ", lng=" + lng +
+                ", flag=" + flag +
                 '}';
     }
 }