Interface RobotInstructions

All Known Subinterfaces:
Robot
All Known Implementing Classes:
C3PO, Nexus6, R2D2, Roboter

public interface RobotInstructions
Das Interface repräsentiert den Befehlssatz eines einfachen Roboters. Jeder Roboter kann zwei grundlegende Operationen durchführen: das Umwandeln einer Menge von Zahlen in einen String (speak(...)) und das sortieren eines Arrays von Zahlen (think(...)). Wie genau das Sortieren oder die Umwandlung erfolgt, hängt vom jeweiligen Typ des Roboters ab. Zu beachten ist, dass die Methoden dieses Interfaces nur auf Robotern benutzt werden können, die eingeschaltet sind. Versucht man sie auf einem ausgeschalteten Roboter zu benutzen, werfen sie eine RobotIllegalStateException. Weiterhin haben alle Roboter einen kleinen technischen Defekt, der dazu führt dass die Methoden dieses Interfaces abstürzen, wenn in den Eingabedaten ein spezieller Wert vorkommt. Immer wenn (speak(...)) oder ( think(...)) mit einem Array aufgerufen werden, das irgendwo die Zahl 42 enthält, verweigern sie ihren Dienst und werfen eine RobotMagicValueException.
  • Method Summary

    Modifier and Type
    Method
    Description
    speak(int[] zahlen)
    Gibt ein Array von Zahlen als String zurück.
    int[]
    think(int[] zahlen)
    Sortiert ein Array von Zahlen.
  • Method Details

    • speak

      String speak(int[] zahlen) throws RobotException
      Gibt ein Array von Zahlen als String zurück. Die Zahlen werden nicht sortiert.
      Parameters:
      zahlen - Zahlen, die ausgegeben werden sollen.
      Returns:
      Zahlen als String
      Throws:
      RobotException - wenn der Roboter in einem ungültigen Zustand ist, oder das Array nicht seinen Vorstellungen entspricht.
    • think

      int[] think(int[] zahlen) throws RobotException
      Sortiert ein Array von Zahlen. Die Reihenfolge hängt von dem Typ des Roboters ab.
      Parameters:
      zahlen - Zahlen, die sortiert werden sollen.
      Returns:
      Sortierte Zahlen
      Throws:
      RobotException - wenn der Roboter in einem ungültigen Zustand ist, oder das Array nicht seinen Vorstellungen entspricht.