aktueller Stand

This commit is contained in:
Flummi 2025-01-30 13:31:56 +01:00
parent b363690c19
commit 791fe54411
2 changed files with 38 additions and 23 deletions

View File

@ -6,18 +6,19 @@ import java.io.FileNotFoundException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.net.URI;
import java.util.Scanner;
public class WetterAPI {
private static final String API(String mode, String ort) {
private static final String API(String mode, String ort) throws Exception {
return new StringBuilder()
.append("https://api.openweathermap.org/data/2.5/")
.append(mode)
.append("?units=metric&lang=de&appid=")
.append(readApiKey("env.txt"))
.append("&q=")
.append(ort)
.append(URLEncoder.encode(ort, "UTF-8"))
.toString();
};
@ -37,7 +38,7 @@ public class WetterAPI {
int responseCode = connection.getResponseCode();
if(responseCode != 200) {
throw new Exception("Fehler bei der Anfrage: " + responseCode);
throw new Exception("Dieser Ort wurde nicht gefunden.");
}
try(BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()))) {

View File

@ -17,6 +17,10 @@ public class WetterApp {
}
public void start() {
this.clearScreen();
while(true) {
System.out.println();
System.out.println("Wetter Schmetter");
System.out.println("---------");
System.out.println("1. Aktuelles Wetter");
@ -24,6 +28,7 @@ public class WetterApp {
System.out.println("3. Beenden");
int auswahl = this.readInputInt();
this.clearScreen();
switch(auswahl) {
case 1:
@ -34,11 +39,14 @@ public class WetterApp {
break;
case 3:
System.out.println("Beenden...");
scanner.close();
System.exit(0);
break;
default:
System.out.println("Ungültige Eingabe");
}
}
}
private void getAktuellesWetter() {
System.out.println("Geben Sie einen Ort ein:");
@ -76,16 +84,18 @@ public class WetterApp {
}
private void printWetterDaten(WetterDaten wetterDaten) {
System.out.println();
System.out.println("Wetter in " + wetterDaten.getOrt());
System.out.println("Temperatur: " + wetterDaten.getTemperatur() + " °C");
System.out.println("Luftdruck: " + wetterDaten.getLuftdruck() + " hPa");
System.out.println("Luftfeuchtigkeit: " + wetterDaten.getLuftfeuchtigkeit() + " %");
scanner.close();
System.out.println();
}
private void printWetterVorhersage(String json) {
JSONObject jsonObject = new JSONObject(json);
JSONArray forecastArray = jsonObject.getJSONArray("list");
System.out.println();
for(int i = 0; i < forecastArray.length(); i += 8) {
JSONObject forecastObject = forecastArray.getJSONObject(i);
@ -98,7 +108,6 @@ public class WetterApp {
System.out.println("Luftdruck: " + luftdruck + " hPa");
System.out.println();
}
scanner.close();
}
private String readInput() {
@ -110,4 +119,9 @@ public class WetterApp {
scanner.nextLine();
return ret;
}
private void clearScreen() {
System.out.print("\033[H\033[2J");
System.out.flush();
}
}