Hallo,
ich habe eine Methode rechnen:
Nun soll diese Methode über eine While Schleife rekursiv aufgerufen werden und jeweils das Ergebnis ausgeben.
Das Problem ist folgende Zeile:
System.out.println("erg: ");
Die Ausgabe erfolgt einfach nicht. Wann müsste die Ausgabe denn überhaupt erfolgen und wie kann man das Problem simpel beheben? Braucht man extra ein Array dafür?
ich habe eine Methode rechnen:
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;
}
System.out.println("erg: ");
TaschenrechnerUIJWindow.operanden.push(zwischenergebnis);
sizeoperanden++;
}
}
Java:
if (e.getSource()==TaschenrechnerUIJWindow.mal){
usedoperator = "*";
if (TaschenrechnerUIJWindow.operandenstrings.toString() != ""){
addOperand(TaschenrechnerUIJWindow.operandenstrings);
sizeoperanden++;
}
TaschenrechnerUIJWindow.anzeige.setText(TaschenrechnerUIJWindow.anzeige.getText()+usedoperator);
if (TaschenrechnerUIJWindow.operatoren.isEmpty()){
TaschenrechnerUIJWindow.operatoren.push(usedoperator);
}
else {
while (TaschenrechnerUIJWindow.operatoren.isEmpty()||istHoeherwertig(usedoperator)){
rechne(usedoperator);
}
System.out.println("erg: ");
Die Ausgabe erfolgt einfach nicht. Wann müsste die Ausgabe denn überhaupt erfolgen und wie kann man das Problem simpel beheben? Braucht man extra ein Array dafür?