Fix the country name fetching from CSV.
[Persons_Comparator.git] / src / Country.java
index 8a41df6ad2281a454b63af19135e2c97aea4a3c4..7f2486bae6be22d6ed02628bdac1ab12baf8c422 100644 (file)
@@ -68,7 +68,9 @@ public class Country {
             return 0;
         } else {
             double theta = this.getLng() - country.getLng();
-            Double dist = Math.sin(Math.toRadians(this.getLat())) * Math.sin(Math.toRadians(country.getLat())) + Math.cos(Math.toRadians(this.getLat())) * Math.cos(Math.toRadians(country.getLat())) * Math.cos(Math.toRadians(theta));
+            Double dist = Math.sin(Math.toRadians(this.getLat())) * Math.sin(Math.toRadians(country.getLat())) +
+                    Math.cos(Math.toRadians(this.getLat())) * Math.cos(Math.toRadians(country.getLat())) *
+                            Math.cos(Math.toRadians(theta));
             dist = Math.acos(dist);
             dist = Math.toDegrees(dist);
             dist = dist * 60 * 1.1515;
@@ -85,18 +87,23 @@ public class Country {
         } catch (FileNotFoundException e) {
             e.printStackTrace();
         }
+        boolean found = false;
         while (scanner.hasNext()) {
             List<String> line = CSVUtils.parseLine(scanner.nextLine());
             String countryList = line.get(0);
             String[] countryArray = countryList.split(",");
             String latLng = line.get(16);
             String[] latLngArray = latLng.split(",");
-            if (countryArray[1].equals(name)) {
+            if (countryArray[0].equals(name)) {
+                found = true;
                 setRegion(line.get(12));
                 setLat(Double.parseDouble(latLngArray[0]));
                 setLng(Double.parseDouble(latLngArray[1]));
+                setFlag(line.get(21));
             }
         }
+        if (!found)
+            System.out.println("Country " + name + " not found");
         scanner.close();
     }