D
dominik92ee
Gast
Hallo Leute,
ich habe ein Problem. Und zwar habe ich eine GenericStack<T>-Klasse. Die Methode pop() gibt mir als Return-Wert ein Objekt T mit dem obersten Inhalt.
Wie kann ich jetzt mit 2 solcher Objekte rechnen?
Der Code:
ich habe ein Problem. Und zwar habe ich eine GenericStack<T>-Klasse. Die Methode pop() gibt mir als Return-Wert ein Objekt T mit dem obersten Inhalt.
Wie kann ich jetzt mit 2 solcher Objekte rechnen?
Der Code:
Java:
public class GenericLinkedStack<T> {
...
public T pop(){
T result = top.data;
top = top.link;
return result;
}
private class Node{
T data;
Node link;
Node(){}
Node(T e, Node n){
data = e;
link = n;
}
}
}
Java:
public static int eval(String s) throws SyntaxError{
//Der String soll z.b. so aussehen: ((3+5)*(4-7))
char c;
GenericLinkedStack stackInt = new GenericLinkedStack(); //Stack mit Zahlen aus String s
GenericLinkedStack stackChar = new GenericLinkedStack(); //Stack mit Operatoren aus String s
for(int i = 0; i < s.length()-1; i++){
c = s.charAt(i); // c geht den String durch, Zahlen werden im stackInt gespeichert, Operatoren im stackChar
switch(c){
case ')': /*hier soll das Ergebnis aus einer Klammer berechnet werden.
die Frage ist wie berechne ich das Ergebnis.
ich muss die 2 obersten Elemente aus dem stackint und das oberste Element
aus dem stackchar poppen und das Ganze dann irgendwie zusammenrechnen.*/
case '2': stackInt.push(c);
case '+': stackChar.push(c);