Sitzung: Jeden Freitag in der Vorlesungszeit ab 16 Uhr c. t. im MAR 0.005. In der vorlesungsfreien Zeit unregelmäßig (Jemensch da?). Macht mit!

Javakurs/Übungsaufgaben/Wetterstation/Musterloesung: Unterschied zwischen den Versionen

(Lösung: Wetterstation)
K (fix alignment)
 
(Eine dazwischenliegende Version von einem anderen Benutzer wird nicht angezeigt)
Zeile 2: Zeile 2:
  
 
== Lösung: Wetterstation ==
 
== Lösung: Wetterstation ==
<nowiki>
+
<pre>
 
/**
 
/**
 
  * @author Andy Gunschl (Freitagsrunde)
 
  * @author Andy Gunschl (Freitagsrunde)
  *
+
  *  
 
  */
 
  */
public class Wetterstation {
+
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 {
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");
 
}
 
}
 
 
}
 
}
 
 
}
 
}
</nowiki>
+
</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 ;)
 
 
<!--
 
Als kleine Starthilfe folgt ein Beispiel, wie so ein Kommentar formatiert sein könnte. Mit "Vorschau zeigen" kannst du dir ansehen, was deine Änderung bewirken würde, ohne wirklich etwas zu ändern.
 
Du musst übrigens außerhalb dieses auskommentieren Bereichs schreiben ;)
 
-->
 

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 ;)