Ich habe einen rekursiven Algorithmus, der Zeichen für Zeichen durchläuft und analysiert, um eine baumartige Struktur zu erzeugen. Ich möchte in der Lage sein, den Zeichenindex zu verfolgen, in dem sich der Parser befindet (für Fehlermeldungen genauso wie alles andere), bin aber nicht scharf darauf, etwas wie ein Tupel zu implementieren, um mehrere zurückgegebene Typen zu behandeln.Wie man in einem rekursiven Algorithmus in Java die Dinge erledigt hält?
Ich versuchte mit einem Integer-Typ, außerhalb der Methode deklariert und in die rekursive Methode übergeben, aber weil es endgültig ist, sind rekursive Aufruf Inkremente "vergessen", wenn ich zurückkomme. (Weil das Inkrement des Integer-Werts den Wert des übergebenen Objektreferenzpunkts an einem neuen Objekt festlegt)
Gibt es eine Möglichkeit, etwas ähnliches zur Arbeit zu bekommen, das meinen Code nicht verschmutzt?
Zugegeben keine Antwort, aber eine gewisse Sympathie: :-) ich in einer ähnlichen Situation vor ein paar Monaten lief. Da ich Common Lisp verwendete, konnte ich meinen Zähler einfach als "speziell" deklarieren (dh dynamisch statt lexikalisch), aber ich erinnere mich, dass ich dachte: "In fast jeder anderen Sprache würde dies viel mehr als eine Zeile Code erfordern lösen". – Ken