Aufgabenvorschlag: Grundlagen Methoden
Herr Christopher Schölzel hat mir empfohlen die Aufgaben an sie als Vorschlag zu schicken. Zwei weitere Vorschläge können bei Interesse folgen.
Aufgabe 1: Einfache Methoden
In dieser Aufgabe sollen Sie mehrere Methoden implementieren. Nutzen Sie dazu die jshell oder erstellen Sie eine neue Klasse in deren main-Methode Sie die Funktionen aufrufen.
a) Erstellen Sie eine Methode square, die einen Parameter vom Typ double erhält, und das Quadrat dieser Zahl zurückgibt. b) Erstellen Sie eine Methode successor, die einen Parameter vom Typ int erhält, und die nächstgrößere Zahl zurückgibt. c) Erstellen Sie eine Methode checkWarning, die zwei Parameter vom Typ int erhält und auf der Konsole eine Warnung ausgibt, wenn die erste Zahl größer oder gleich der zweiten ist. Die Methode soll nichts zurückgeben. d) Testen Sie Ihre Methoden mit Parametern Ihrer Wahl.
Aufgabe 2: Methodenaufrufe
Methoden können andere Methoden aufrufen. Machen Sie sich damit vertraut indem Sie die folgende Aufrufhierarchie nachbilden:
Method2_1 - Method2_1_1
/
Method1 -< \ Method 2_2_1 Method 2_2 < Method 2_2_2
Dabei soll Method1 zuerst Method2_1 und dann Method2_2 aufrufen, usw. Geben Sie in jeder Methode folgenden Text in der ersten bzw. letzten Zeile der Methode aus:
- Enter
- Exit < MethodName>
Aufgabe 3: Max4
Implementieren Sie eine Methode int max4(int n, int m, int o, int p), welche das Maximum von 4 Zahlen bestimmt. Implementieren Sie dazu zunächst eine Methode int max2(int a,int b), welche Sie in max4 wiederverwenden.
Aufgabe 4: Wochentagsberechnung
In dieser Aufgabe sollen sie eine Methode int dayOfTheWeek(int day, int month, intyear) implementieren, die zu einem gegebenen Datum den Wochentag ermittelt. Der Wochentag kann mit Hilfe der folgenden Formel ermittelt werden, wobei t für Tag, m für Monat und j für Jahr steht:
(t+2m+((3m+3)/5)+j+(j/4)-((j/100)-(j/400)-2))%7 Gesprochen: t plus 2 mal m plus (3 mal m + 3) durch 5 + j + j durch 4 - (j durch 100 minus j durch 400 - 2) und alles dann Modulo 7 Rechnen.
Das Ergebnis ist eine Zahl zwischen 0 und 6, wobei 0 Samstag entspricht, 1 Sonntag, 2 Montag, usw.
Achtung: Für diese Berechnung werden Januar und Februar als 13. bzw. 14. Monat des Vorjahres betrachtet, z. B. entspricht der 04.02.2013 dem 04.14.2012. Diese Transformation können Sie umsetzen, ist allerdings nicht gefordert.
b) Testen Sie Ihre Methode mit folgenden Daten, indem Sie dayOfTheWeek aufrufen:
- 24.12. 2017
-
- Mai 2018