• Wir präsentieren Dir heute ein Stellenangebot für einen Java Entwickler - m/w/d in Augsburg, München, Stuttgart oder Bamberg. Hier geht es zur Jobanzeige

Den Wert einer rekursiven Funktion bestimmen

H

Hans_m

Mitglied
Hay,

kann mir jemand mit dieser Aufgabe helfen ?

Wie lautet der Wert von ex234(6):

Java:
public static String ex234(int n){

if (n <= 0) return "";

return ex234(n - 3) + n + ex234( n - 2) + n;

}

Ich verstehe den Basisfall nicht. Sollte nicht einfach gar nichts ausgegeben werden wenn beim Basisfall einfach nur ein leerer String ausgegeben wird ? Wäre über Tips wie man sowas angeht sehr dankbar.
 
Kirby.exe

Kirby.exe

Top Contributor
Naja es soll ja ein String aufgebaut werden und der Basisfall oder Rekursionsanker ändert nichts an dem String ;) Schau dir mal den return case an :) Dort werden Zahlen mit einem '+' aneinander gehangen, dies funktioniert aber nur wenn einer der Werte ein String ist. Sonst würde einfach addiert werden :)
 
VfL_Freak

VfL_Freak

Top Contributor
Rechne es auf Papier doch mal selbst aus!
Fang mit n=1 an
==> return ex234(1 - 3) + 1 + ex234(1 - 2) + 1;
==> ex234(-2) + 1 + ex234(-1) + 1;
==> .....

bei n=6 ist natürlich aufwendiger!
==> return ex234(6 - 3) + 1 + ex234(6 - 2) + 1;
==> ex234(3) + 1 + ex234(4) + 1;
==> .....

Oder Du baust Dir ein kleines Progrämmel, in dem Du die Methode aufrufst.
Dabei kannst Du dann noch SysOuts einbauen, bis der Arzt kommt 😁
VG Klaus
 
kneitzel

kneitzel

Top Contributor
Wie lautet der Wert von ex234(6):
Die Antwort darauf lässt sich übrigens ganz einfach finden, indem man den Code einfach in eine Klasse packt und dann das Ergebnis des Aufrufs ausgibt in einer main Methode.

Und dann kann man den Code natürlich auch noch beliebig erweitern ... Also um es besser verstehen zu können, könnte man da etwas mehr Ausgabe einbauen:
Java:
public static String ex234(int n){
    if (n <= 0) {
        System.out.println("ex234(" + n + ") = ''");
        return "";
    }
    
    String result = ex234(n - 3) + n + ex234( n - 2) + n;
    System.out.println("ex234(" + n + ") = '" + result + "'");
    return result;
}

Nur um mal ein kleines Beispiel zu geben. Ich kann nur empfehlen, dass man das wirklich nimmt und damit rumspielt. Das gibt dann auch noch etwas mehr Erfahrung ...
 
H

Hans_m

Mitglied
Danke ! Nachdem ich es mal für kleine n gerechnet habe, habe ich es auch verstanden.😅
 
H

Hans_m

Mitglied
Die Antwort darauf lässt sich übrigens ganz einfach finden, indem man den Code einfach in eine Klasse packt und dann das Ergebnis des Aufrufs ausgibt in einer main Methode.

Und dann kann man den Code natürlich auch noch beliebig erweitern ... Also um es besser verstehen zu können, könnte man da etwas mehr Ausgabe einbauen:
Java:
public static String ex234(int n){
    if (n <= 0) {
        System.out.println("ex234(" + n + ") = ''");
        return "";
    }
   
    String result = ex234(n - 3) + n + ex234( n - 2) + n;
    System.out.println("ex234(" + n + ") = '" + result + "'");
    return result;
}

Nur um mal ein kleines Beispiel zu geben. Ich kann nur empfehlen, dass man das wirklich nimmt und damit rumspielt. Das gibt dann auch noch etwas mehr Erfahrung ...
Stimmt, so könnte ich code wie diesen in Zukunft besser nachvollziehen. Danke!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
ms_cikar Den Wert einer Hex. value bestimmten. Java Basics - Anfänger-Themen 8
V_Fynn03 Erste Schritte Einen Wert in ein TextField einfügen aus einer anderen Klasse Java Basics - Anfänger-Themen 3
L Wert einer Webeseiteauslesen Java Basics - Anfänger-Themen 6
O Wert in einer Schleife unterschiedlich erhöhen Java Basics - Anfänger-Themen 2
J Wert eines Arrays einer Variable zuweisen, sobald der Wert eines anderen Arrays eintritt Java Basics - Anfänger-Themen 2
F Variablen If else: Einer Variable einen Wert hinzufügen oder so? Java Basics - Anfänger-Themen 6
G Wie kann man den Erfolg einer Zuweisung als Boolean Wert verwenden? Java Basics - Anfänger-Themen 12
O Wert in einer URL hinzufügen (in meinem Beispiel Google) Java Basics - Anfänger-Themen 7
J Wert einer Variable erhöhen Java Basics - Anfänger-Themen 5
K Zugriff auf Variabeln Wert einer Instanz Java Basics - Anfänger-Themen 4
S Umgebungsvariable Wert einer Variable global nutzen Java Basics - Anfänger-Themen 3
D Wert einer Variable in paint-Methode verwenden Java Basics - Anfänger-Themen 2
C einen wert aus einer arraylist in einem jField angeben Java Basics - Anfänger-Themen 2
O Variabeln aus einer andere Klasse dauerhaft einen anderen Wert übergeben Java Basics - Anfänger-Themen 5
M Inhalt/Wert aus einer JList ablesen Java Basics - Anfänger-Themen 5
D Wert einer Variable aus Klasse A mit Klasse B ändern Java Basics - Anfänger-Themen 11
J Methoden Wert im Block einer for-Schleife wird nicht aktualisiert Java Basics - Anfänger-Themen 9
K Datentypen Umwandlung einer Textfeldeingabe in einen binären Wert Java Basics - Anfänger-Themen 2
J Wie behalten Variablen den Wert, den sie in einer anderen Methode erhalten haben? Java Basics - Anfänger-Themen 14
B Wert einer while-Schleife nach Abarbeitung Java Basics - Anfänger-Themen 2
Y Übertragen von Wert von einer Klasse zu einer anderen Java Basics - Anfänger-Themen 3
S Wert in einer Klasse 1 ein-/ausgeben, in Klasse 2 ausrechen? Java Basics - Anfänger-Themen 3
D Inhalt einer Liste auf nur ein Wert überprüfen ohne die Liste komplett zu interieren Java Basics - Anfänger-Themen 6
S Wert einer Variable printen Java Basics - Anfänger-Themen 2
G Maximalen Wert einer ArrayList ausgeben Java Basics - Anfänger-Themen 11
B Wert einer Variable mit Listener ueberwachen Java Basics - Anfänger-Themen 3
B Wert einer String Variable an andere String Variable in anderer Klasse uebergeben Java Basics - Anfänger-Themen 5
H Höchsten int-Wert(key) aus einer Hashmap suchen Java Basics - Anfänger-Themen 19
B vorletzten Wert aus einer Reihe bekommen Java Basics - Anfänger-Themen 6
N Wert einer Variable aus einem Javaproramm auslesen. Java Basics - Anfänger-Themen 2
E Boolean wert innerhalb einer Tabelle ändern Java Basics - Anfänger-Themen 4
M Wert von einer Methode in eine Andere übergeben Java Basics - Anfänger-Themen 6
G Wert in Zeile an einer bestimmten Stelle ersetzen Java Basics - Anfänger-Themen 2
M den kleinsten und größten Wert aus einer Datei finden! Java Basics - Anfänger-Themen 4
S einer Variable KEINEN Wert zuweisen? Java Basics - Anfänger-Themen 7
G Wert in einer Zelle ersetzen Java Basics - Anfänger-Themen 4
A Wert einer Variable an eine Methode in einer anderen Klasse. Java Basics - Anfänger-Themen 4
V Wie übergebe ich einer Methode einen Wert per ActionListener Java Basics - Anfänger-Themen 2
R JTable - Wert einer selektierten Zelle auslesen Java Basics - Anfänger-Themen 1
S Aus verschachtelter ArrayList auf einen Wert zugreifen Java Basics - Anfänger-Themen 4
T Feststellen, dass Wert zu groß; Caesar Chiffre Java Basics - Anfänger-Themen 3
J maximaler Wert eines Integers Java Basics - Anfänger-Themen 14
I Format Problem mit Wert - bekomme 0,10 anstatt 10,00 Java Basics - Anfänger-Themen 6
H Methode über String Wert aufrufen Java Basics - Anfänger-Themen 8
G Rekursive Methode liefert augenscheinlich keinen boolean-Wert zurück. Java Basics - Anfänger-Themen 4
Lena_2611 Vergleich von Array1 Index mit Array2 Wert und erzeugen eines neues Arrays Java Basics - Anfänger-Themen 8
NeoLexx Abfrage mit instanceof führt zu unerwarteten Wert Java Basics - Anfänger-Themen 9
B Map<String, FilterMeta, wie Wert bekommen? Java Basics - Anfänger-Themen 4
J Eine Position im String durch einen Integer - Wert teilen Java Basics - Anfänger-Themen 5
S Integer Wert wird nicht übernommen Java Basics - Anfänger-Themen 2
V Boolean Wert nicht richtig erkannt Java Basics - Anfänger-Themen 4
H Datentypen Was für eine Format verbirgt sich hinter dem Integer-Wert 053? Java Basics - Anfänger-Themen 2
1 Array nimmt falschen Wert auf! Java Basics - Anfänger-Themen 2
S Erste Schritte Button einen Wert zuweisen & diesen ausgeben Java Basics - Anfänger-Themen 2
H Größte Duplikat (Größte Doppelte Wert) eines Arrays ausgeben Java Basics - Anfänger-Themen 9
J Wert zwischen JFrames übergeben Java Basics - Anfänger-Themen 2
J Umwandlung String zu ASCII-Wert und anders Java Basics - Anfänger-Themen 17
P Verzweigungen Wert zurück geben Java Basics - Anfänger-Themen 2
D Wert des Arrays unter Bedingungen ändern Java Basics - Anfänger-Themen 1
M Double Wert nach n abschneiden ohne zu runden Java Basics - Anfänger-Themen 1
F Boolean Methode Wert ausgeben. Java Basics - Anfänger-Themen 2
X Erste Schritte boolean wert ändert sich nicht? Java Basics - Anfänger-Themen 6
T Klassen Den Wert aus Array lesen lassen Java Basics - Anfänger-Themen 12
W Problem mit dem Wert von boolean-Variable Java Basics - Anfänger-Themen 3
J Wie kann ich z.B. einem int-Wert einen String-Wert zuweisen? Java Basics - Anfänger-Themen 2
H Einfache Frage zur Punktnotation objektname.methode(wert) Java Basics - Anfänger-Themen 2
D integer negativen Wert abspeichern Java Basics - Anfänger-Themen 3
D Erste Schritte Wert im Array suchen Java Basics - Anfänger-Themen 12
O Primzahl rekursiv mit einem Wert ohne i, wie? Java Basics - Anfänger-Themen 6
S Wert innerhalb eines anderen Wertes Java Basics - Anfänger-Themen 3
S Array doppelter Wert prüfen Java Basics - Anfänger-Themen 7
B ArrayList besitzt einen Wert zu wenig Java Basics - Anfänger-Themen 16
D Compiler-Fehler Wert auf Datenbank übertragen und Sleep Thread Java Basics - Anfänger-Themen 3
F Java int-Wert wird resetet Java Basics - Anfänger-Themen 21
J Erste Schritte Wert aus JTextField zurückgeben Java Basics - Anfänger-Themen 6
UnknownInnocent Bestimmten Integer Wert aus Array filtern Java Basics - Anfänger-Themen 2
B Liste von Integer -> Nächster Wert bekommen Java Basics - Anfänger-Themen 5
J Wert bei Objekterzeugung verändern Java Basics - Anfänger-Themen 12
I bestimmten Wert eines Arrays Java Basics - Anfänger-Themen 23
D Erste Schritte Java speichert wert des Scanners nicht Java Basics - Anfänger-Themen 2
B Erste Schritte if Anweisung mit Wert Übernahme Java Basics - Anfänger-Themen 3
B .txt. Datei auslesen und bestimmten Wert wiedergeben Java Basics - Anfänger-Themen 5
UnknownInnocent x wert eines Bildes auslesen Java Basics - Anfänger-Themen 1
S boolean Wert von mehreren int Möglichkeiten abfragen ? Java Basics - Anfänger-Themen 4
deatzi Wert aus anderer Klasse lesen Java Basics - Anfänger-Themen 7
D Compiler-Fehler Array an Methode übergeben und Wert zurückbekommen Java Basics - Anfänger-Themen 3
I Schleife fragt Wert ab bis 0 kommt (mit IO.java klasse) Java Basics - Anfänger-Themen 16
O String: Befehl und Wert erkennen. Java Basics - Anfänger-Themen 4
L Methoden Rekursion gibt alten Wert wieder Java Basics - Anfänger-Themen 37
S Wie erhöhe ich den Wert von mehren Integers auf einmal? Java Basics - Anfänger-Themen 5
S Bestehendes Java Programm, einen festen Wert ändern Java Basics - Anfänger-Themen 17
E Aufruf auf Objekt mit übergebenem Wert? Java Basics - Anfänger-Themen 7
M Listener für Button - Wert von Variablen verändern Java Basics - Anfänger-Themen 14
D Klassen Wert aus JTextfield in JLabel (andere Klasse) darstellen. Java Basics - Anfänger-Themen 60
E Wert in Textfeld schreiben Java Basics - Anfänger-Themen 1
D Einen Wert unter einen ActionListener weitergeben Java Basics - Anfänger-Themen 1
N wert für progress auf 100% setzen Java Basics - Anfänger-Themen 5
N Methoden vorherigen Wert in einem Array lieferen Java Basics - Anfänger-Themen 8
Joker4632 Klassen BigDecimal Multiplikation liefert nicht erwarteten Wert Java Basics - Anfänger-Themen 6
? Methoden Boolean Wert vergleichen und einlesen Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Anzeige

Neue Themen


Oben