Country+Region add flag
[Persons_Comparator.git] / src / Country.java
CommitLineData
3ae9566e
JB
1public 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}