diff --git a/src/main/java/JavaWetterkram/Ort.java b/src/main/java/JavaWetterkram/Ort.java new file mode 100644 index 0000000..3d1d8f3 --- /dev/null +++ b/src/main/java/JavaWetterkram/Ort.java @@ -0,0 +1,13 @@ +package JavaWetterkram; + +public class Ort { + private String ort; + + public Ort(String ort) { + this.ort = ort; + } + + public String getOrt() { + return this.ort; + } +} diff --git a/src/main/java/JavaWetterkram/WetterApp.java b/src/main/java/JavaWetterkram/WetterApp.java index be9c327..3a62847 100644 --- a/src/main/java/JavaWetterkram/WetterApp.java +++ b/src/main/java/JavaWetterkram/WetterApp.java @@ -2,6 +2,7 @@ package JavaWetterkram; import JavaWetterkram.WetterAPI; import JavaWetterkram.WetterDaten; +import JavaWetterkram.Ort; import org.json.JSONObject; import java.util.Scanner; @@ -9,6 +10,8 @@ import org.json.JSONArray; public class WetterApp { private static Scanner scanner; + private Ort ort; + private boolean running = true; public static void main(String[] args) { WetterApp app = new WetterApp(); @@ -19,7 +22,7 @@ public class WetterApp { public void start() { this.clearScreen(); - while(true) { + do { System.out.println(); System.out.println("Wetter Schmetter"); System.out.println("---------"); @@ -32,28 +35,36 @@ public class WetterApp { switch(auswahl) { case 1: + this.askOrt(); this.getAktuellesWetter(); break; case 2: + this.askOrt(); this.getWettervorhersage(); break; case 3: System.out.println("Beenden..."); - scanner.close(); - System.exit(0); + this.running = false; break; default: System.out.println("Ungültige Eingabe"); } + } while(this.running); + + scanner.close(); + } + + private void askOrt() { + System.out.println("Geben Sie einen Ort ein:"); + String input = this.readInput(); + if(input.length() > 0) { + this.ort = new Ort(input); } } private void getAktuellesWetter() { - System.out.println("Geben Sie einen Ort ein:"); - String ort = this.readInput(); - try { - String json = WetterAPI.getWetterDaten(ort); + String json = WetterAPI.getWetterDaten(this.ort.getOrt()); WetterDaten wetterDaten = this.parseWetterDaten(json); this.printWetterDaten(wetterDaten); } catch(Exception e) { @@ -62,11 +73,8 @@ public class WetterApp { } private void getWettervorhersage() { - System.out.println("Geben Sie einen Ort ein:"); - String ort = this.readInput(); - try { - String json = WetterAPI.getWetterVorhersage(ort); + String json = WetterAPI.getWetterVorhersage(this.ort.getOrt()); this.printWetterVorhersage(json); } catch(Exception e) { System.out.println("Fehler: " + e.getMessage()); @@ -111,10 +119,17 @@ public class WetterApp { } private String readInput() { + System.out.print("> "); + + if(this.ort != null && this.ort.getOrt().length() > 0) { + System.out.print("(" + this.ort.getOrt() + ") "); + } + return scanner.nextLine(); } private int readInputInt() { + System.out.print("> "); int ret = scanner.nextInt(); scanner.nextLine(); return ret;