From e3276692a658a5880d262f9fe8ad746ff88b9958 Mon Sep 17 00:00:00 2001
From: Haug Michael <mh306@hdm-stuttgart.de>
Date: Thu, 21 Jun 2018 00:04:41 +0200
Subject: [PATCH] playing around with do while

---
 .../mi/sd1/weather/Forecast.java              |  5 ++-
 .../mi/sd1/weather/model/OurScanner.java      | 12 ++++++
 .../weather/model/SearchingAndComparing.java  | 41 +++++++++++--------
 3 files changed, 38 insertions(+), 20 deletions(-)
 create mode 100644 src/main/java/de/hdm_stuttgart/mi/sd1/weather/model/OurScanner.java

diff --git a/src/main/java/de/hdm_stuttgart/mi/sd1/weather/Forecast.java b/src/main/java/de/hdm_stuttgart/mi/sd1/weather/Forecast.java
index 817ac9f..33e607a 100755
--- a/src/main/java/de/hdm_stuttgart/mi/sd1/weather/Forecast.java
+++ b/src/main/java/de/hdm_stuttgart/mi/sd1/weather/Forecast.java
@@ -19,8 +19,9 @@ public class Forecast {
      */
     public static void main(String[] args) {
 
-
-        SearchingAndComparing.MethodSearchingAndComparing();
+        //  do {
+        SearchingAndComparing.MethodSearchingAndComparing( /*OurScanner.ScanToSearch()*/);
+        //  }while (SearchingAndComparing.GetFlag() == false );
 
         CopyToFile.CopyURLToFile("weatherCache\\" + SearchingAndComparing.GetID() + ".json");
 
diff --git a/src/main/java/de/hdm_stuttgart/mi/sd1/weather/model/OurScanner.java b/src/main/java/de/hdm_stuttgart/mi/sd1/weather/model/OurScanner.java
new file mode 100644
index 0000000..624fe60
--- /dev/null
+++ b/src/main/java/de/hdm_stuttgart/mi/sd1/weather/model/OurScanner.java
@@ -0,0 +1,12 @@
+package de.hdm_stuttgart.mi.sd1.weather.model;
+
+import java.util.Scanner;
+
+public class OurScanner {
+
+    public static String ScanToSearch() {
+        System.out.println("Please enter your City: ");
+        Scanner scanCity = new Scanner(System.in);
+        return scanCity.nextLine();
+    }
+}
diff --git a/src/main/java/de/hdm_stuttgart/mi/sd1/weather/model/SearchingAndComparing.java b/src/main/java/de/hdm_stuttgart/mi/sd1/weather/model/SearchingAndComparing.java
index 802a916..d755f2f 100755
--- a/src/main/java/de/hdm_stuttgart/mi/sd1/weather/model/SearchingAndComparing.java
+++ b/src/main/java/de/hdm_stuttgart/mi/sd1/weather/model/SearchingAndComparing.java
@@ -11,13 +11,11 @@ public class SearchingAndComparing {
 
     static int idToSearch = 0;
     static String searchedCity;
+    static boolean flagIfNothingFound = true;
 
 
-    static public void MethodSearchingAndComparing() {
-        System.out.println("Please enter your City: ");
-        Scanner scanCity = new Scanner(System.in);
-        String searchedCity = scanCity.nextLine();
-        //  String searchedCity = "Republic of India";
+    static public void MethodSearchingAndComparing(/*String searchedCity*/) {
+
 
         /**
          * Searching and comparing cities
@@ -28,19 +26,22 @@ public class SearchingAndComparing {
         int k = 0;
         City[] citySelector = new City[2000];
 
-
-        for (int i = 0; i <= Cities.cities.length - 1; i++) {
-            City createdCity = Cities.cities[i];
-            if (createdCity.getName().toLowerCase().contains(searchedCity.toLowerCase())) {
-                citySelector[k] = createdCity;
-                k++;
-            } else {
-                controlNumber++;
-            }
-            if (controlNumber > Cities.cities.length - 1) {
-                System.err.println("City not found");
+        do {
+           searchedCity = OurScanner.ScanToSearch();
+            for (int i = 0; i <= Cities.cities.length - 1; i++) {
+                City createdCity = Cities.cities[i];
+                if (createdCity.getName().toLowerCase().contains(searchedCity.toLowerCase())) {
+                    citySelector[k] = createdCity;
+                    k++;
+                } else {
+                    controlNumber++;
+                }
+                if (controlNumber > Cities.cities.length - 1) {
+                    flagIfNothingFound = false;
+                    System.err.println("City not found");
+                }
             }
-        }
+        } while (flagIfNothingFound == false);
 
 
         if (citySelector[1] != null) {
@@ -66,7 +67,7 @@ public class SearchingAndComparing {
         }
 
 
-        scanCity.close();
+        // scanCity.close();
         idToSearch = citySelector[0].getId();
 
     }
@@ -80,4 +81,8 @@ public class SearchingAndComparing {
         return idToSearch;
     }
 
+    public static boolean GetFlag() {
+        return flagIfNothingFound;
+    }
+
 }
-- 
GitLab