-import java.util.ArrayList;
-
public class Country {
private String name;
- ArrayList<Object> topLevelDomain = new ArrayList<Object>();
- private String alpha2Code;
- private String alpha3Code;
- ArrayList<Object> callingCodes = new ArrayList<Object>();
- private String capital;
- ArrayList<Object> altSpellings = new ArrayList<Object>();
private String region;
- private String subregion;
- private float population;
- ArrayList<Object> latlng = new ArrayList<Object>();
- private String demonym;
- private float area;
- private float gini;
- ArrayList<Object> timezones = new ArrayList<Object>();
- ArrayList<Object> borders = new ArrayList<Object>();
- private String nativeName;
- private String numericCode;
- ArrayList<Object> currencies = new ArrayList<Object>();
- ArrayList<Object> languages = new ArrayList<Object>();
- Translations TranslationsObject;
+ private double lat;
+ private double lng;
private String flag;
- ArrayList<Object> regionalBlocs = new ArrayList<Object>();
- private String cioc;
-
- public class Translations {
- private String de;
- private String es;
- private String fr;
- private String ja;
- private String it;
- private String br;
- private String pt;
- private String nl;
- private String hr;
-
-
- // Getter Methods
-
- public String getDe() {
- return de;
- }
-
- public String getEs() {
- return es;
- }
-
- public String getFr() {
- return fr;
- }
-
- public String getJa() {
- return ja;
- }
-
- public String getIt() {
- return it;
- }
-
- public String getBr() {
- return br;
- }
-
- public String getPt() {
- return pt;
- }
-
- public String getNl() {
- return nl;
- }
-
- public String getHr() {
- return hr;
- }
-
-
-
- // Setter Methods
- public void setDe(String de) {
- this.de = de;
- }
-
- public void setEs(String es) {
- this.es = es;
- }
-
- public void setFr(String fr) {
- this.fr = fr;
- }
-
- public void setJa(String ja) {
- this.ja = ja;
- }
-
- public void setIt(String it) {
- this.it = it;
- }
-
- public void setBr(String br) {
- this.br = br;
- }
-
- public void setPt(String pt) {
- this.pt = pt;
- }
-
- public void setNl(String nl) {
- this.nl = nl;
- }
-
- public void setHr(String hr) {
- this.hr = hr;
- }
-
-
- }
-
-
- // Getter Methods
-
- public String getName() {
- return name;
+ public Country(String name, String region, double lat, double lng, String flag) {
+ setName(name);
+ setRegion(region);
+ setLat(lat);
+ setLng(lng);
+ setFlag(flag);
}
- public String getAlpha2Code() {
- return alpha2Code;
- }
-
- public String getAlpha3Code() {
- return alpha3Code;
- }
-
- public String getCapital() {
- return capital;
- }
-
- public String getRegion() {
- return region;
- }
-
- public String getSubregion() {
- return subregion;
- }
-
- public float getPopulation() {
- return population;
- }
-
- public String getDemonym() {
- return demonym;
- }
-
- public float getArea() {
- return area;
- }
-
- public float getGini() {
- return gini;
- }
-
- public String getNativeName() {
- return nativeName;
- }
-
- public String getNumericCode() {
- return numericCode;
- }
-
- public Translations getTranslations() {
- return TranslationsObject;
- }
-
- public String getFlag() {
- return flag;
- }
-
- public String getCioc() {
- return cioc;
- }
-
- // Setter Methods
-
public void setName(String name) {
this.name = name;
}
- public void setAlpha2Code(String alpha2Code) {
- this.alpha2Code = alpha2Code;
- }
-
- public void setAlpha3Code(String alpha3Code) {
- this.alpha3Code = alpha3Code;
- }
-
- public void setCapital(String capital) {
- this.capital = capital;
+ public String getName() {
+ return name;
}
public void setRegion(String region) {
this.region = region;
}
- public void setSubregion(String subregion) {
- this.subregion = subregion;
+ public void setLat(double lat) {
+ this.lat = lat;
}
- public void setPopulation(float population) {
- this.population = population;
+ public double getLat() {
+ return lat;
}
- public void setDemonym(String demonym) {
- this.demonym = demonym;
+ public void setLng(double lng) {
+ this.lng = lng;
}
- public void setArea(float area) {
- this.area = area;
+ public double getLng() {
+ return lng;
}
- public void setGini(float gini) {
- this.gini = gini;
- }
-
- public void setNativeName(String nativeName) {
- this.nativeName = nativeName;
- }
-
- public void setNumericCode(String numericCode) {
- this.numericCode = numericCode;
+ public void setFlag(String flag) {
+ this.flag = flag;
}
- public void setTranslations(Translations translationsObject) {
- this.TranslationsObject = translationsObject;
+ public String getFlag() {
+ return flag;
}
- public void setFlag(String flag) {
- this.flag = 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();
+ }
}
- public void setCioc(String cioc) {
- this.cioc = cioc;
+ @Override
+ public String toString() {
+ return "Country{" +
+ "name='" + name + '\'' +
+ ", region='" + region + '\'' +
+ ", lat=" + lat +
+ ", lng=" + lng +
+ ", flag=" + flag +
+ '}';
}
}
-