Rekursion mit While Schleife kombinieren?

Timo2010

Mitglied
Guten Abend,
ich würde gerne eine Rekursion mit einer While Schleife kombinieren. Ich habe zwei Stacks mit Operatoren und Operanden. Nun habe ich eine Methode namens istHoeherwertig(), die prüft, ob der zuletzt geklickte Operator Hoeherwertig ist. Denn dann wird nicht mehr gerechnet, sondern der Operator auf den Operatorenstapel gelegt, ebenso wenn der Operatorenstapel leer ist.

Die Rechenmethode:
Java:
public void rechne(String eingabeoperator){
		if (sizeoperanden >=2 && !TaschenrechnerUIJWindow.operatoren.isEmpty()){
		double operandaint = Double.valueOf((String)TaschenrechnerUIJWindow.operanden.top());
		TaschenrechnerUIJWindow.operanden.pop();
		sizeoperanden--;
		double operandbint = Double.valueOf((String)TaschenrechnerUIJWindow.operanden.top());
		TaschenrechnerUIJWindow.operanden.pop();
		sizeoperanden--;
		String stackoperator = (String)TaschenrechnerUIJWindow.operatoren.top();
		TaschenrechnerUIJWindow.operatoren.pop();
		if (stackoperator == "*"){
			zwischenergebnis = operandaint * operandbint;
		}
		else if (stackoperator == "/"){
			zwischenergebnis = operandaint / operandbint;
		}
		else if (stackoperator == "+"){
			zwischenergebnis = operandaint + operandbint;
		}
		else if (stackoperator == "-"){
			zwischenergebnis = operandaint - operandbint;
		}
		TaschenrechnerUIJWindow.operanden.push(zwischenergebnis);
		sizeoperanden++;
		while (TaschenrechnerUIJWindow.operatoren.isEmpty()||istHoeherwertig(eingabeoperator)){
			rechne(eingabeoperator);
		}
		}
	}

Leider erhalte ich dabei eine ArrayIndexOutofBoundsException und weiß nicht, wie ich das Problem lösen kann. Könntet ihr mir sagen, wo der Fehler liegt?
 

Timo2010

Mitglied
Ich habe jetzt eine While Schleife für die Rekursion:
Java:
while (!TaschenrechnerUIJWindow.operatoren.isEmpty()||!istHoeherwertig(usedoperator,TaschenrechnerUIJWindow.operatoren.top())){
		rechne(usedoperator);
		System.out.println("Zwischenergebnis: "+TaschenrechnerUIJWindow.operanden.top());
		}
Nun funktioniert ein Durchlauf der Schleife und dann gibt es einen ArrayIndexOutofBoundsException, obwohl in der Methode rechne() noch die Größe der Stapel geprüft wird?
 

XHelp

Top Contributor
Die Strings werden immer noch mit equals verglichen.
Wo gibt es denn die Exception? Mach die Sysoutausgaben rein, damit du nachvollziehen kannst, was da passiert.
 

Timo2010

Mitglied
Habe es durch etliche Abfragen anscheinend gelöst. Nun hätte ich noch eine Frage: Kann man eine While Schleife auch einfach mit einem Befehl beenden? So etwas gibt es auch in PHP.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Rekursion Aufrufbaum Allgemeine Java-Themen 7
N rekursion mehrfach eine Methode Öffnen Allgemeine Java-Themen 4
districon Rekursion und Dynamische Programmierung Allgemeine Java-Themen 2
Zeppi Rekursion StackOverflowError Allgemeine Java-Themen 4
J Rekursion Allgemeine Java-Themen 4
Zrebna Wie kann man endgültig aus einer Rekursion ausbrechen? Allgemeine Java-Themen 14
parrot Rekursion Aufgabe Allgemeine Java-Themen 12
B Rekursion Allgemeine Java-Themen 11
X Wie mache ich hier eine Rekursion rein ? Allgemeine Java-Themen 7
J Rekursion Mergesort Allgemeine Java-Themen 10
R Rekursion Allgemeine Java-Themen 3
R Programm zur Rekursion Allgemeine Java-Themen 5
V Rekursion Allgemeine Java-Themen 2
J Denkfehler Rekursion Allgemeine Java-Themen 5
I Raute mit Rekursion "zeichnen" Allgemeine Java-Themen 7
B Rekursion Allgemeine Java-Themen 2
B Rekursion Allgemeine Java-Themen 22
B Java Sternchen ausgeben mittels Rekursion Allgemeine Java-Themen 3
Hacer Rekursion- sumOfAllNodes Allgemeine Java-Themen 5
L Rekursion Binärbaum Allgemeine Java-Themen 7
Androbin Interpreter-Fehler Probleme mit Rekursion - StackOverflowError Allgemeine Java-Themen 8
Y Rekursion Allgemeine Java-Themen 19
M Permutation ohne Wiederholung mit rekursion Allgemeine Java-Themen 4
J Rekursion oder Iteration - verkettete Listen Allgemeine Java-Themen 8
T Pascalsches Dreieck ohne array und rekursion Allgemeine Java-Themen 9
P Rekursion Allgemeine Java-Themen 9
R Threading und Rekursion führen zu “GC overhead limit exceeded” Allgemeine Java-Themen 4
W Rekursion-Probleme mit return Allgemeine Java-Themen 35
C Rekursion Fibonacci Allgemeine Java-Themen 31
eQuest Rekursion Dauer Allgemeine Java-Themen 6
Weiti Swingworker und Rekursion Allgemeine Java-Themen 8
L fragwürdige Rekursion Allgemeine Java-Themen 4
L Kleine Rekursion Allgemeine Java-Themen 12
M Rekursion!! Allgemeine Java-Themen 8
J Rekursion in Schleifenkonstrukt wandeln Allgemeine Java-Themen 21
R Rekursion Ablauflogik Allgemeine Java-Themen 19
M Rückwärts geführte Rekursion Allgemeine Java-Themen 3
Schandro StackOverflowError bei Rekursion verhindern Allgemeine Java-Themen 14
G Werte bei Rekursion viel höher als erwartet Allgemeine Java-Themen 3
G Rekursion - Denksport Allgemeine Java-Themen 6
S Rekursion und StackOverflow Allgemeine Java-Themen 11
P Stackoverflow in Rekursion. Bin ich schuld oder Java? Allgemeine Java-Themen 9
W kompliziertes Konstrukt von Schleifen/If/else. Rekursion? Allgemeine Java-Themen 22
S Rekursion Allgemeine Java-Themen 2
Linad Tiefe der Rekursion als Abbruchbedingung Allgemeine Java-Themen 6
Linad Zahlensysteme -> Rekursion Allgemeine Java-Themen 4
N Frage zu einer Rekursion Allgemeine Java-Themen 4
W While Schleife funktioniert nicht ganz Allgemeine Java-Themen 4
H do-while Schleife funktioniert nicht wie ich es möchte Allgemeine Java-Themen 7
MangoTango Operatoren while-Schleife für Potenz Allgemeine Java-Themen 3
M Keine weitere Eingabe in der Main möglich. Eventueller Ansatz über while. Allgemeine Java-Themen 8
D While-Schleife - if Zweig unterbrechen Allgemeine Java-Themen 1
C Schachbrett mit while-schleifen Allgemeine Java-Themen 7
T String aus While Schleife für ganze Klasse sichtbar machen Allgemeine Java-Themen 5
M While-Schleife schneller, solange die Abbruchbedingung nicht vom Schleifeninneren abhängt Allgemeine Java-Themen 3
J While Schleife ausführen bis Zahl = X Allgemeine Java-Themen 19
A Swing Taschenrechner while Schlaufe Allgemeine Java-Themen 12
I NullPointer während while(){} Allgemeine Java-Themen 4
N Frage zur while-Schleife Allgemeine Java-Themen 18
G while Schleife ausführen solange eine Taste gedrückt ist Allgemeine Java-Themen 14
S for-Schleife, while-Schleife Problem Allgemeine Java-Themen 6
R while schleife auf 3 durchgänge beschränken Allgemeine Java-Themen 6
V anstatt thread.join() einfach while schleife? Allgemeine Java-Themen 8
D ProcessBuilder und die while() Allgemeine Java-Themen 3
S Do-While Schleife bricht nicht ab Allgemeine Java-Themen 3
S Erste Schritte if-Anweisung in for- oder while-schleife umwandeln Allgemeine Java-Themen 3
J Thread pausieren, lange while-Schleife Allgemeine Java-Themen 8
W While-ESC-Schleife funktioniert nicht Allgemeine Java-Themen 3
H Threads.... ich will aus der While-Schleife raus Allgemeine Java-Themen 6
J Schachbrett mit for- oder while-Schleife Allgemeine Java-Themen 22
V Problem in While-Schleife Allgemeine Java-Themen 3
J Konsolen Anwendung mit while(true) Allgemeine Java-Themen 6
T getParameter in while schleife Allgemeine Java-Themen 3
O while - Schleife unterbrechen mit break; Allgemeine Java-Themen 5
M Problem mit while/do Schleife Allgemeine Java-Themen 12
B Try/Catch in While-Schleife mit Scanner - Hilfe! Allgemeine Java-Themen 3
N while Schlauf und ActionEvent Allgemeine Java-Themen 2
L Exception auslösen, um while Schlaufe zu verlassen(rxtx.org) Allgemeine Java-Themen 6
F While(true)-Schleife im JPanel Allgemeine Java-Themen 9
N vergleich mit while und for schleife Allgemeine Java-Themen 7
B while mit BufferedReader beenden Allgemeine Java-Themen 5
T Verschachtelte For-Schleife gibt falschen Wert zurück, Abbruchbedingung evtl. falsch? Allgemeine Java-Themen 9
A verschachtelte for-Schleife in einen Stream umwandeln? Allgemeine Java-Themen 4
A Wie schreibe ich eine For-Schleife in ein Stream API um? Allgemeine Java-Themen 12
berserkerdq2 Wie synchronisiere ich eine for-Schleife Allgemeine Java-Themen 12
N Warum wird die For Schleife nicht betreten Allgemeine Java-Themen 4
M Schleife für einen TicTacToe Computer Allgemeine Java-Themen 5
Lukas2904 Schleife mit ansteuerung einer Klasse Allgemeine Java-Themen 5
A For-Schleife Allgemeine Java-Themen 5
J Algorithmen Analyse einer Schleife Allgemeine Java-Themen 6
1 Klassen Variabel aus Schleife übergeben Allgemeine Java-Themen 8
D "Automatisierte", variable verschachtele for-Schleife Allgemeine Java-Themen 9
F Schleife funktioniert nicht richtig Allgemeine Java-Themen 13
K For-Schleife <> oder != Operator verwenden? Allgemeine Java-Themen 2
J Einen Thread in einer Schleife Allgemeine Java-Themen 2
F Zweifache For-Schleife Allgemeine Java-Themen 6
P Operatoren Problem mit Zähler in recursiver Schleife Allgemeine Java-Themen 2
S Variablen String[] Array per schleife in int[] einlesen Allgemeine Java-Themen 8
D Methoden Buttons erscheinen doppelt nach Wiederholung in Schleife Allgemeine Java-Themen 1
RalleYTN Problem bei Schleife die durch einen 2D raum iterieren soll Allgemeine Java-Themen 1

Ähnliche Java Themen

Neue Themen


Oben