Commit | Line | Data |
---|---|---|
3ae9566e JB |
1 | public class Country { |
2 | private String name; | |
3ae9566e | 3 | private String region; |
f56708fa SP |
4 | private double lat; |
5 | private double lng; | |
f710e396 | 6 | private String flag; |
3ae9566e | 7 | |
f710e396 | 8 | public Country(String name, String region, double lat, double lng, String flag) { |
f56708fa SP |
9 | setName(name); |
10 | setRegion(region); | |
11 | setLat(lat); | |
12 | setLng(lng); | |
f710e396 | 13 | setFlag(flag); |
3ae9566e JB |
14 | } |
15 | ||
3ae9566e JB |
16 | public void setName(String name) { |
17 | this.name = name; | |
18 | } | |
19 | ||
822afd4f SP |
20 | public String getName() { |
21 | return name; | |
22 | } | |
23 | ||
3ae9566e JB |
24 | public void setRegion(String region) { |
25 | this.region = region; | |
26 | } | |
27 | ||
f56708fa SP |
28 | public void setLat(double lat) { |
29 | this.lat = lat; | |
3ae9566e JB |
30 | } |
31 | ||
d8b03ca8 SP |
32 | public double getLat() { |
33 | return lat; | |
34 | } | |
35 | ||
f56708fa SP |
36 | public void setLng(double lng) { |
37 | this.lng = lng; | |
3ae9566e JB |
38 | } |
39 | ||
d8b03ca8 SP |
40 | public double getLng() { |
41 | return lng; | |
42 | } | |
43 | ||
f710e396 SP |
44 | public void setFlag(String flag) { |
45 | this.flag = flag; | |
46 | } | |
47 | ||
48 | public String getFlag() { | |
49 | return flag; | |
50 | } | |
51 | ||
e16e3b15 JB |
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 | ||
f56708fa SP |
67 | @Override |
68 | public String toString() { | |
69 | return "Country{" + | |
70 | "name='" + name + '\'' + | |
71 | ", region='" + region + '\'' + | |
72 | ", lat=" + lat + | |
73 | ", lng=" + lng + | |
f710e396 | 74 | ", flag=" + flag + |
f56708fa | 75 | '}'; |
3ae9566e JB |
76 | } |
77 | } |