Javakurs/Übungsaufgaben/Wetterstation/Musterloesung: Unterschied zwischen den Versionen
< Javakurs | Übungsaufgaben | Wetterstation
Jörg F (Diskussion | Beiträge) K (hat „Javakurs2007/Wetterstation/Musterloesung“ nach „Javakurs/Übungsaufgaben/Wetterstation/Musterloesung“ verschoben) |
K (fix alignment) |
||
Zeile 2: | Zeile 2: | ||
== Lösung: Wetterstation == | == Lösung: Wetterstation == | ||
− | + | <pre> | |
/** | /** | ||
* @author Andy Gunschl (Freitagsrunde) | * @author Andy Gunschl (Freitagsrunde) | ||
− | * | + | * |
*/ | */ | ||
− | public class | + | public class WeatherStation { |
− | |||
public static void main(String[] args) { | public static void main(String[] args) { | ||
− | //Aufgabe 1.) day wird nicht benoetigt da man es ueber den index machen kann | + | // Aufgabe 1.) day wird nicht benoetigt da man es ueber den index machen |
− | int[] day = {1,2,3,4,5,6,7,8,9,10,11,12,13,14}; | + | // kann |
− | int[] temperature = {12,14,9,12,15,16,15,15,11,8,13,13,15,12}; | + | int[] day = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }; |
+ | int[] temperature = { 12, 14, 9, 12, 15, 16, 15, 15, 11, 8, 13, 13, 15, 12 }; | ||
− | //Aufgabe 2.) | + | // Aufgabe 2.) |
System.out.println("2.) \t Durchschnittstemperatur"); | System.out.println("2.) \t Durchschnittstemperatur"); | ||
int average = 0; | int average = 0; | ||
− | for(int i = 0;i<temperature.length;i++){ | + | for (int i = 0; i < temperature.length; i++) { |
average = average + temperature[i]; | average = average + temperature[i]; | ||
} | } | ||
average = average / temperature.length; | average = average / temperature.length; | ||
− | System.out.println("Durchschnittstemeratur betraegt: "+average); | + | System.out.println("Durchschnittstemeratur betraegt: " + average); |
− | + | ||
− | //Aufgabe 3.) | + | // Aufgabe 3.) |
System.out.println("3.) \t maximale und minimale Temperatur"); | System.out.println("3.) \t maximale und minimale Temperatur"); | ||
int max = temperature[0]; | int max = temperature[0]; | ||
int min = temperature[0]; | int min = temperature[0]; | ||
− | for(int i = 0;i<temperature.length;i++){ | + | for (int i = 0; i < temperature.length; i++) { |
− | if(max<temperature[i]){ | + | if (max < temperature[i]) { |
max = temperature[i]; | max = temperature[i]; | ||
} | } | ||
− | if(min>temperature[i]){ | + | if (min > temperature[i]) { |
min = temperature[i]; | min = temperature[i]; | ||
} | } | ||
} | } | ||
− | System.out.println("Maximale Temperatur: "+max); | + | System.out.println("Maximale Temperatur: " + max); |
− | System.out.println("Minimale Temperatur: "+min); | + | System.out.println("Minimale Temperatur: " + min); |
− | + | ||
− | //Aufgabe 4.) | + | // Aufgabe 4.) |
System.out.println("4.) \t beiden aufeinanderfolgenden Tage angeben kann, an denen es den größten Temperaturumschwung gab"); | System.out.println("4.) \t beiden aufeinanderfolgenden Tage angeben kann, an denen es den größten Temperaturumschwung gab"); | ||
int maxTempDiff = 0; | int maxTempDiff = 0; | ||
− | int foundDay=0; | + | int foundDay = 0; |
− | for(int i = 0;i<temperature.length;i++){ | + | for (int i = 0; i < temperature.length; i++) { |
int newMaxDiff = 0; | int newMaxDiff = 0; | ||
− | if((i+1)<temperature.length){ | + | if ((i + 1) < temperature.length) { |
− | if(temperature[i]<temperature[i+1]){ | + | if (temperature[i] < temperature[i + 1]) { |
− | newMaxDiff = temperature[i+1]-temperature[i]; | + | newMaxDiff = temperature[i + 1] - temperature[i]; |
} | } | ||
− | if(temperature[i]>=temperature[i+1]){ | + | if (temperature[i] >= temperature[i + 1]) { |
− | newMaxDiff = temperature[i]-temperature[i+1]; | + | newMaxDiff = temperature[i] - temperature[i + 1]; |
} | } | ||
− | if(maxTempDiff<newMaxDiff){ | + | if (maxTempDiff < newMaxDiff) { |
maxTempDiff = newMaxDiff; | maxTempDiff = newMaxDiff; | ||
foundDay = i; | foundDay = i; | ||
Zeile 57: | Zeile 57: | ||
} | } | ||
} | } | ||
− | if(maxTempDiff != 0){ | + | if (maxTempDiff != 0) { |
− | System.out.println("Maximale Temperatur unterschied: "+maxTempDiff+" von Tag "+(foundDay+1)+" zu Tag "+(foundDay+2)); | + | System.out.println("Maximale Temperatur unterschied: " + maxTempDiff + " von Tag " + (foundDay + 1) + " zu Tag " + (foundDay + 2)); |
− | } | + | } else { |
− | |||
System.out.println("Alle Temperaturen sind gleich"); | System.out.println("Alle Temperaturen sind gleich"); | ||
} | } | ||
− | + | ||
− | //Aufgabe 5.) | + | // Aufgabe 5.) |
System.out.println("5.) \tTabelle schön tabellarisch auf der Konsole ausgibt"); | System.out.println("5.) \tTabelle schön tabellarisch auf der Konsole ausgibt"); | ||
System.out.print("Tag: \t\t"); | System.out.print("Tag: \t\t"); | ||
− | for(int i = 0;i<day.length;i++){ | + | for (int i = 0; i < day.length; i++) { |
− | System.out.print(day[i]+"\t"); | + | System.out.print(day[i] + "\t"); |
} | } | ||
System.out.println(); | System.out.println(); | ||
System.out.print("Temperatur \t"); | System.out.print("Temperatur \t"); | ||
− | for(int j = 0;j<temperature.length;j++){ | + | for (int j = 0; j < temperature.length; j++) { |
− | System.out.print(temperature[j]+"\t"); | + | System.out.print(temperature[j] + "\t"); |
} | } | ||
− | |||
} | } | ||
− | |||
} | } | ||
− | </ | + | </pre> |
== Kommentare == | == Kommentare == | ||
Wenn du Anmerkungen zur Aufgabe hast oder Lob und Kritik loswerden möchtest, ist hier die richtige Stelle dafür. Klicke einfach ganz rechts auf "bearbeiten" und schreibe deinen Kommentar direkt ins Wiki. Keine Scheu, es geht nichts kaputt ;) | Wenn du Anmerkungen zur Aufgabe hast oder Lob und Kritik loswerden möchtest, ist hier die richtige Stelle dafür. Klicke einfach ganz rechts auf "bearbeiten" und schreibe deinen Kommentar direkt ins Wiki. Keine Scheu, es geht nichts kaputt ;) | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Aktuelle Version vom 27. Februar 2013, 17:08 Uhr
Hinweis: Die Musterlösung kann von eurer Lösung abweichen, da es immer mehrere Varianten gibt ein Problem zu lösen. Im Zweifelsfall Fragt einen Tutor.
Lösung: Wetterstation
/** * @author Andy Gunschl (Freitagsrunde) * */ public class WeatherStation { public static void main(String[] args) { // Aufgabe 1.) day wird nicht benoetigt da man es ueber den index machen // kann int[] day = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }; int[] temperature = { 12, 14, 9, 12, 15, 16, 15, 15, 11, 8, 13, 13, 15, 12 }; // Aufgabe 2.) System.out.println("2.) \t Durchschnittstemperatur"); int average = 0; for (int i = 0; i < temperature.length; i++) { average = average + temperature[i]; } average = average / temperature.length; System.out.println("Durchschnittstemeratur betraegt: " + average); // Aufgabe 3.) System.out.println("3.) \t maximale und minimale Temperatur"); int max = temperature[0]; int min = temperature[0]; for (int i = 0; i < temperature.length; i++) { if (max < temperature[i]) { max = temperature[i]; } if (min > temperature[i]) { min = temperature[i]; } } System.out.println("Maximale Temperatur: " + max); System.out.println("Minimale Temperatur: " + min); // Aufgabe 4.) System.out.println("4.) \t beiden aufeinanderfolgenden Tage angeben kann, an denen es den größten Temperaturumschwung gab"); int maxTempDiff = 0; int foundDay = 0; for (int i = 0; i < temperature.length; i++) { int newMaxDiff = 0; if ((i + 1) < temperature.length) { if (temperature[i] < temperature[i + 1]) { newMaxDiff = temperature[i + 1] - temperature[i]; } if (temperature[i] >= temperature[i + 1]) { newMaxDiff = temperature[i] - temperature[i + 1]; } if (maxTempDiff < newMaxDiff) { maxTempDiff = newMaxDiff; foundDay = i; } } } if (maxTempDiff != 0) { System.out.println("Maximale Temperatur unterschied: " + maxTempDiff + " von Tag " + (foundDay + 1) + " zu Tag " + (foundDay + 2)); } else { System.out.println("Alle Temperaturen sind gleich"); } // Aufgabe 5.) System.out.println("5.) \tTabelle schön tabellarisch auf der Konsole ausgibt"); System.out.print("Tag: \t\t"); for (int i = 0; i < day.length; i++) { System.out.print(day[i] + "\t"); } System.out.println(); System.out.print("Temperatur \t"); for (int j = 0; j < temperature.length; j++) { System.out.print(temperature[j] + "\t"); } } }
Kommentare
Wenn du Anmerkungen zur Aufgabe hast oder Lob und Kritik loswerden möchtest, ist hier die richtige Stelle dafür. Klicke einfach ganz rechts auf "bearbeiten" und schreibe deinen Kommentar direkt ins Wiki. Keine Scheu, es geht nichts kaputt ;)