Hallo zusammen,
ich muss ein Programm für arithmetische Ausdrücke schreiben. Diese sollen durch ein Interface "Expression" repräsentiert werden. Jeder Ausdruck hat einen Wert, den die Methode getValue() (gibt den Wert eines Ausrucks als int zurück) liefert.
Eine Art von Ausdrücken sind Numerale (class Numeral implements Expression). Die Klasse hat einen Konstruktor mit einem int-Argument. Dieses Argument gibt die Methode getValue() zurück.
Eine zweite Art von Ausdrücken sind zusammengesetzte Ausdrücke (class Binary implements Expression). Der Konstruktor erwartet einen Operator und zwei Ausdrücke als Argumente. Die getValue() Methode gibt den ausgerechneten Wert zurück.
Weiterhin muss ich noch eine Mehtode (toInfix) implementieren, die eine lesbare Darstellung des Ausdrucks als String zurückliefert.
Das Problem ist folgendes: da getValue() bei zusammengesetzte Ausdrücke den Wert schon ausrechnet, kann ich nicht die einzelnen Ausdrücke ausgeben bzw. darauf zugreifen.
Ich hoffe mir kann jemand weiterhelfen.
ich muss ein Programm für arithmetische Ausdrücke schreiben. Diese sollen durch ein Interface "Expression" repräsentiert werden. Jeder Ausdruck hat einen Wert, den die Methode getValue() (gibt den Wert eines Ausrucks als int zurück) liefert.
Eine Art von Ausdrücken sind Numerale (class Numeral implements Expression). Die Klasse hat einen Konstruktor mit einem int-Argument. Dieses Argument gibt die Methode getValue() zurück.
Eine zweite Art von Ausdrücken sind zusammengesetzte Ausdrücke (class Binary implements Expression). Der Konstruktor erwartet einen Operator und zwei Ausdrücke als Argumente. Die getValue() Methode gibt den ausgerechneten Wert zurück.
Weiterhin muss ich noch eine Mehtode (toInfix) implementieren, die eine lesbare Darstellung des Ausdrucks als String zurückliefert.
Das Problem ist folgendes: da getValue() bei zusammengesetzte Ausdrücke den Wert schon ausrechnet, kann ich nicht die einzelnen Ausdrücke ausgeben bzw. darauf zugreifen.
Ich hoffe mir kann jemand weiterhelfen.