Interface UPNOperation


public interface UPNOperation

Das mitgelieferte Programm in Main.jar kümmert sich bereits um das Einlesen, die Ausgabe und die Fehlerbehandlung. Ihre Aufgabe besteht darin, die notwendigen Operationen, die das Programm verwendet, auszuprogrammieren. Schreiben Sie die benötigten ???Operation.java Klassen, die dieses Interface implementieren.


Field Summary
static double EPSILON
          Zahlen, deren Absolutwert kleiner EPSILON sind, sollen Sie als 0.0 behandeln.
 
Method Summary
 void execute(java.util.Stack op)
          Berechnet das Ergebnis der Operation und legt es wieder auf den Stack.
 java.lang.String getOperationSymbol()
          Liefert das Symbol für die Operation (das "Operationszeichen").
 

Field Detail

EPSILON

static final double EPSILON
Zahlen, deren Absolutwert kleiner EPSILON sind, sollen Sie als 0.0 behandeln. Das gilt sowohl für Zahlen, die Sie vom Stack nehmen, als auch für Zahlen, die Sie nach erfolgter Operation wieder auf den Stack legen.

Method Detail

execute

void execute(java.util.Stack op)
             throws InvalidParameterException
Berechnet das Ergebnis der Operation und legt es wieder auf den Stack. Nehmen Sie so viele Zahlen, wie Sie für die Operation benötigen, vom Stack. Achten Sie auf die korrekte Reihenfolge und berechnen Sie das Ergebnis. Geben Sie das Endergebnis danach wieder als Double-Objekt auf den Stack

Parameters:
op - beinhaltet alle Zahlen als Double-Objekte.
Throws:
InvalidParameterException - Wenn ein Fehler passiert (Stack leer, Division durch Null, ...) werfen Sie eine InvalidParameterException, das Hauptprogramm kümmert sich danach um die Fehlermeldung.

getOperationSymbol

java.lang.String getOperationSymbol()
Liefert das Symbol für die Operation (das "Operationszeichen"). Um zu bestimmen, welche Klasse wann verwendet werden soll, muss dem Hauptprogramm das jeweilige Symbol bekannt sein. (also zb "+" für AddOperation, "cos" für CosOperation,...) Wenn dieses Symbol bei der Eingabe verwendet wird, ruft das Hauptprogramm die execute-Funktion dieser Klasse auf.

Returns:
das Symbol, das für diese Operation verwendet wird, als String.