Ort Schmort

This commit is contained in:
Flummi 2025-01-30 14:07:33 +01:00
parent 791fe54411
commit ed8d85c34b
2 changed files with 39 additions and 11 deletions

View File

@ -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;
}
}

View File

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