grundrechenarten mit GenericObjekten

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:
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);
 

nrg

Top Contributor
wenn du GenericLinkedStack auch mit einer numerischen Wrapper (z.B. Integer oder Double) instanziierst hast, kannste ohne weiteres parsen damit rechnen (Stichwort Autoboxing). wo liegt denn das Problem?
 
D

dominik92ee

Gast
ajo, das mit dem parsen hab ich vergessen. ich habs dauernd mit casten probiert^^
mal schauen, obs jetzt funktioniert.
 

Ähnliche Java Themen

Neue Themen


Oben