Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
JavaAufgaben
JavaAufgaben
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 8
    • Issues 8
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • Operations
    • Operations
    • Incidents
  • Analytics
    • Analytics
    • Repository
    • Value Stream
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • Dominikus Herzberg
  • JavaAufgabenJavaAufgaben
  • Issues
  • #4

Closed
Open
Created Nov 17, 2017 by Max André Wengrzinek@mawn60

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:

  1. Enter
  2. 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
    1. Mai 2018
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None