2516c2bfdc4172b41d9f5da9b4fc5fdb207bee7e
[Persons_Comparator.git] / src / Country.java
1 public class Country {
2 private String name;
3 private String region;
4 private double lat;
5 private double lng;
6 private String flag;
7
8 public Country(String name, String region, double lat, double lng, String flag) {
9 setName(name);
10 setRegion(region);
11 setLat(lat);
12 setLng(lng);
13 setFlag(flag);
14 }
15
16 public void setName(String name) {
17 this.name = name;
18 }
19
20 public String getName() {
21 return name;
22 }
23
24 public void setRegion(String region) {
25 this.region = region;
26 }
27
28 public void setLat(double lat) {
29 this.lat = lat;
30 }
31
32 public double getLat() {
33 return lat;
34 }
35
36 public void setLng(double lng) {
37 this.lng = lng;
38 }
39
40 public double getLng() {
41 return lng;
42 }
43
44 public void setFlag(String flag) {
45 this.flag = flag;
46 }
47
48 public String getFlag() {
49 return flag;
50 }
51
52 public int distanceTo(Country country) {
53 if ((this.lat == country.lat) && (this.lng == country.lng)) {
54 return 0;
55 } else {
56 double theta = this.lng - country.lng;
57 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));
58 dist = Math.acos(dist);
59 dist = Math.toDegrees(dist);
60 dist = dist * 60 * 1.1515;
61 // Kilometers
62 dist = dist * 1.609344;
63 return dist.intValue();
64 }
65 }
66
67 @Override
68 public String toString() {
69 return "Country{" +
70 "name='" + name + '\'' +
71 ", region='" + region + '\'' +
72 ", lat=" + lat +
73 ", lng=" + lng +
74 ", flag=" + flag +
75 '}';
76 }
77 }