Hallo Ihr lieben,
ich bin momentan in der Endphase meiner Studienarbeit. Die Aufgabe besteht darin, einen Funktionsplotter in Android zu realisieren. Mithilfe vom Shunting-Yard-Alogrithmus möchte ich die eingegebene Funktion in die Umgekehrte Polnische Notatoin überführen und dann mit verschiedenen x-Werten auswerten. Dazu möchte ich das Ergebnis des Shunting-Yards (also bei 5+3 bspw. 53+) in einem Textview ausgeben. Der Code sieht folgendermaßen aus:
Java
		
					
			import java.util.*;  
public class ShuntingYard {   
  
private enum Operator   {         
ADD(1), SUBTRACT(2), MULTIPLY(3), DIVIDE(4);         
final int precedence;         
Operator(int p) { precedence = p; }     
}      
private Map<String, Operator> ops = new HashMap<String, Operator>() {{         
put("+", Operator.ADD);         
put("-", Operator.SUBTRACT);         
put("*", Operator.MULTIPLY);         
put("/", Operator.DIVIDE);     }}; 
    
 private boolean isHigerPrec(String op, String sub)     {         
return (ops.containsKey(sub) && ops.get(sub).precedence >= ops.get(op).precedence);     }      
public TextView RPN(View view)     {
String Function = getIntent().getStringExtra("funktion");
StringBuilder output = new StringBuilder();         
Deque<String> stack  = new LinkedList<>();          
for (String token : Function.split("\\s")) {            
 // operator            
if (ops.containsKey(token)) {                 
while ( ! stack.isEmpty() && isHigerPrec(token, stack.peek()))                    
output.append(stack.pop()).append(' ');                 
stack.push(token);             
 // left parenthesis             
}else if (token.equals("(")) {                 
stack.push(token);             
 // right parenthesis             
} else if (token.equals(")")) {                
 while ( ! stack.peek().equals("("))                     
output.append(stack.pop()).append(' ');                 
stack.pop();              
// digit            
 } else {                 
output.append(token).append(' ');            
 }         
}         
 while ( ! stack.isEmpty())             
output.append(stack.pop()).append(' ');         
 output.toString()
Output.setText(output)
return Output
 }  
}Leider erhalte ich als Ergebnis nur genau das eingegebene, nichts verändertes. Weiß jemand, woran das liegen könnte?
 
		 
		
		
	 habe ihn nur ein wenig umgeändert, den "Hauptteil" ins TextView gesteckt, dort die Variablenübergabe aus der vorigen Activity eingesetzt und am Ende den Output wieder in ein TextView gesteckt...Wäre super wenn du meinen Fehler findest
 habe ihn nur ein wenig umgeändert, den "Hauptteil" ins TextView gesteckt, dort die Variablenübergabe aus der vorigen Activity eingesetzt und am Ende den Output wieder in ein TextView gesteckt...Wäre super wenn du meinen Fehler findest 

