8. Rekursive Methoden
8. Rekursive MethodenWelche zwei Kommandozeilenausgaben erzeugt das Programm?
Was berechnet das Programm in der Methode?
Das Programm Test nutzt die main() Methode zum Testen der Methode berechneRekursiv() mit den Werten 9 und 89.
public class Test { /** * Hauptprogramm: Nur zum Testen * @param args */ public static void main(String[] args) { int eingabe; int erg; eingabe = 9; erg = berechneRekursiv(eingabe); System.out.println(eingabe + " : " + erg); eingabe = 89; erg = berechneRekursiv(eingabe); System.out.println(eingabe + " : " + erg); } /** * Diese Methode berechnet die/der/das ? der Eingabe * * @param eing : Eingabewert * @return a Ergebnis ist die ? */ static private int berechneRekursiv(int eing) { int a; if (eing == 0) a = 0; //Beende Rekursion else { // a ist größer als Null. Fahre mit Rekursion fort a = eing%10; a= a + berechneRekursiv(eing/10); } return a; } }
Niveau | 1 |
Schwierigkeitsgrad | mittel |
Zeit | 4+2 Minuten |
Die Antwort ist bei der nächsten Frage zu finden (URL rechts unten)
Antwort zu Frage 7: Implementieren und Dokumentieren einer Methode einsteigen()
public class Flugzeug { private int passagiere; // Ab hier Dokumentationskommentar und Methode implementieren /** * diese Methode lässt Passagiere einsteigen. Die Anzahl der * Passagiere erhöht sich um den Wert p. Der Wert p muss positiv sein. * @param p Anzahl der Passagiere die zusteigen * @return neue Anzahl der Passagiere */ public int einsteigen(int p) { if (p>0) passagiere += p; return passagiere; } } // Ende der Klasse Flugzeug
- 4371 views
Anforderungen an einen Algorithmus
Beschreiben "2." und "4." nicht die gleichen Anforderungen?
Wenn ein Algorithmus terminiert hat er doch automatisch endlich viele Teilschritte, nicht?
Hätte er unendlich viele Teilschritte, dann würde er doch nicht terminieren.
Oder irre ich mich?
Richtig
Terminieren bedeutet in endlich vielen Schritten abgerabeitet sein.