Lab – Schleifen: Einstieg

1. Klasse Schleife

Eigenschaft:

  • limit …​ Zahl, Wertebereich von -limit bis +limit, z.B. -20 bis +20 – d.h. prüfen des Parameters! Default-Wert: 10

Konstruktoren:

  • Schleife( )

  • Schleife(limit : int)

Methoden:

  • getLimit() …​ Gibt den Wert der Eigenschaft limit zurück.

  • setLimit(limit : int) …​ Setzt einen neuen Wert für limit (Wertebereich beachten).

  • schleife1() …​ Gibt die Zahlen von 0 bis zu limit aus. Achtung: limit kann auch negativ sein – die Ausgabe ist dann: 0 -1 -2 …​

  • schleife2(start : int) …​ Gibt von start bis zu limit aus.
    start kleiner limit: Schrittweite +1
    start größer limit: Schrittweite -1

  • schleife3(p1: int, p2: int) …​ Zählt vom kleineren Parameter bis zum größeren Parameter.

  • schleife4(start : int) …​ Gibt die geraden Zahlen von start bis zu limit aus.
    Achtung start kann auch ungerade sein!

  • schleife5(zeichen : String, anzahl : int) …​ Gibt das angegebene Zeichen anzahl mal aus (ohne Zeilenumbruch).
    Beispiel: schleife5(“*“, 5);
    Ausgabe: *****

  • a_hoch_n(a : int, n : int) : int …​ berechnet an, Rückgabewert ist das Berechnungs-Ergebnis
    Erklärung: a0 = 1 , a1 = a, a2 = a*a, a3 = a*a*a, …​
    Erweiterung für negative Hochzahlen: a-n = 1/an

  • folge(anzahl : int) …​ gibt folgende Werte in Form von Brüchen aus.
    Z.B. für anzahl = 6): 1/1, 3/2, -9/4, 27/7, 81/11, -243/16
    Hinweise:

    • Man kann mehr als eine Laufvariable (z.B.: i, z, n) verwenden

    • das ausgegebene Vorzeichen ist bei jedem dritten Bruch negativ (Modulo-Operator verwenden!)

    • der Zähler (z) verdreifacht sich

    • der Nenner (n) erhöht sich mit jedem Schleifendurchlauf um den Wert der Laufvariable (i) (…​ +1, …​+2,…​+3,…​+4,…​)

  • berechneQuersumme(zahl : int) : int …​ Bildet die Ziffernsumme einer ganzen Zahl.
    Beispiel: zahl = 123, Ziffernsumme: 1+2+3 = 6 Tipp:

    123 % 10 = 3
    12 % 10 = 2
    1 % 10 = 1
    123 / 10 = 12
    12 / 10 = 1
    1 / 10 = 0

Bitte alle Methoden gründlich testen – auch mit ungültigen Werten!

1.1. Testklasse

Erstelle eine Testklasse Testen, die jede Methode mit min. 2 Parameterwerten (oder mehr, falls mehr grundsätzlich unterschiedliche Konstellationen möglich sind)testet. Falls ungültige Eingaben möglich sind, wird ach dafür ein Test gemacht.

Für jede Methode wird eine eigene Testmethode mit Name test_schleife1() etc. geschrieben. das Limit wird bei Bedarf neu gesetzt.

1.2. Javadoc

Vor der Klassendefinition und vor jeder Methode ist ein javadoc-Kommentar zu schreiben. Als Rohfassung eignet sich eine Kopie des passenden Stücks der Aufgabenstellung. Diese ist um Zeilenschaltungen mit <br> und den Markierungen @param und @return zu ergänzen (siehe BlueJ-Klassentemplate und Einfaches Einstiegs-Beispiel)