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 49cf6c5af85cc0f76ef840f0a39ae221a2d0f125..e3f3c1883fa7287d38229f502470f26f2e5e2c07 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,16 +19,18 @@ public class Forecast { */ public static void main(String[] args) { + SearchingAndComparing.MethodSearchingAndComparing(); +/* CopyToFile.CopyURLToFile("weatherCache\\" + SearchingAndComparing.GetID() + ".json"); CopyToFile.CopyFileToWeather(); WeatherOutput.PrintWeather(); - +*/ } } diff --git a/src/main/java/de/hdm_stuttgart/mi/sd1/weather/model/FormatOutput.java b/src/main/java/de/hdm_stuttgart/mi/sd1/weather/model/FormatOutput.java new file mode 100644 index 0000000000000000000000000000000000000000..8b5891363b974bccba0fe12bdb5bdede60819c4a --- /dev/null +++ b/src/main/java/de/hdm_stuttgart/mi/sd1/weather/model/FormatOutput.java @@ -0,0 +1,52 @@ +package de.hdm_stuttgart.mi.sd1.weather.model; + + +public class FormatOutput { + + public static String cleanCoordOutput(String additionalProperties) { + + int controllDigit = 0; + int firstIndexLon = 0; + int lastIndexLon = 0; + int firstIndexLat = 0; + int lastIndexLat = 0; + char[] coordsInArray = additionalProperties.toCharArray(); + + + for (int i = 0; controllDigit != 2; i++) { + if (coordsInArray[i] == '=') { + controllDigit++; + firstIndexLon = i + 1; + } + } + + controllDigit = 0; + + for (int i = 0; i < coordsInArray.length; i++) { + if (coordsInArray[i] == ',') { + lastIndexLon = i; + } + } + + for (int i = 0; controllDigit != 3; i++) { + if (coordsInArray[i] == '=') { + controllDigit++; + firstIndexLat = i + 1; + } + } + + controllDigit = 0; + + for (int i = 0; controllDigit != 1; i++) { + if (coordsInArray[i] == '}') { + lastIndexLat = i; + controllDigit++; + } + } + + String coordsLon = additionalProperties.substring(firstIndexLon, lastIndexLon); + String coordsLat = additionalProperties.substring(firstIndexLat, lastIndexLat); + + return coordsLon + ", " + coordsLat; + } +} 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 fad6594f182eee97b6cf4dc4b69d4d95bf664c44..802a916944fe8f43d722b7c700696217ee65cee2 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 @@ -4,6 +4,7 @@ import de.hdm_stuttgart.mi.sd1.weather.cities.Cities; import de.hdm_stuttgart.mi.sd1.weather.cities.City; import java.util.Arrays; +import java.util.Map; import java.util.Scanner; public class SearchingAndComparing { @@ -46,7 +47,7 @@ public class SearchingAndComparing { City[] multipleResults = Arrays.copyOf(citySelector, k); for (int i = 0; i < multipleResults.length; i++) { - System.out.println(i + 1 + ". " + multipleResults[i].getName() + " \n country: " + multipleResults[i].getCountry() + " | coordinates: " + citySelector[i].getAdditionalProperties()); + System.out.println(i + 1 + ". " + multipleResults[i].getName() + " \n country: " + multipleResults[i].getCountry() + " | coordinates: " + FormatOutput.cleanCoordOutput(citySelector[i].getAdditionalProperties().toString())); } System.out.println("Please enter the number of the city you want weatherdata for: "); Scanner scanCityChoice = new Scanner(System.in); @@ -76,7 +77,6 @@ public class SearchingAndComparing { } public static int GetID() { - return idToSearch; } diff --git a/src/main/java/de/hdm_stuttgart/mi/sd1/weather/model/WeatherOutput.java b/src/main/java/de/hdm_stuttgart/mi/sd1/weather/model/WeatherOutput.java index caaa480c08106bb78857ab65ae5a45cbdbaf613a..94b110f14c1aec2dd4503ecaa282b2648d49be56 100755 --- a/src/main/java/de/hdm_stuttgart/mi/sd1/weather/model/WeatherOutput.java +++ b/src/main/java/de/hdm_stuttgart/mi/sd1/weather/model/WeatherOutput.java @@ -16,6 +16,10 @@ public class WeatherOutput { for (int i = 0; i < weatherObject.getList().length - 1; i++) { System.out.print(weatherObject.getList()[i].getDtTxt() + ": "); // output nicht wie bei Goik + double timeStamp = weatherObject.getList()[i].getDt(); + timeStamp = timeStamp; + System.out.println(timeStamp); + // January 1, 1970 00:00:00.000 GMT Main MainWeatherData = weatherObject.getList()[i].getMain(); System.out.print(Math.round(MainWeatherData.getTemp()) + "°C");