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 Eigenschaftlimit
zurück. -
setLimit(limit : int)
… Setzt einen neuen Wert fürlimit
(Wertebereich beachten). -
schleife1()
… Gibt die Zahlen von0
bis zulimit
aus. Achtung: limit kann auch negativ sein – die Ausgabe ist dann:0 -1 -2 …
-
schleife2(start : int)
… Gibt vonstart
bis zulimit
aus.
start
kleinerlimit
: Schrittweite+1
start
größerlimit
: Schrittweite-1
-
schleife3(p1: int, p2: int)
… Zählt vom kleineren Parameter bis zum größeren Parameter. -
schleife4(start : int)
… Gibt die geraden Zahlen vonstart
bis zulimit
aus.
Achtungstart
kann auch ungerade sein! -
schleife5(zeichen : String, anzahl : int)
… Gibt das angegebene Zeichenanzahl
mal aus (ohne Zeilenumbruch).
Beispiel:schleife5(“*“, 5);
Ausgabe: ***** -
a_hoch_n(a : int, n : int) : int
… berechnetan
, 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üranzahl = 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)