Lerne und übe ABAP – Regentropfen

Mit der Übung „Raindrops“ hast Du die Möglichkeit, Deine Fähigkeiten in der ABAP-Programmierung zu verbessern und zu vertiefen. In dieser ABAP-Übung geht es darum, ein ABAP-Programm zu implementieren, das eine Zahl in einen String umwandelt, der die Geräusche von Regentropfen repräsentiert. Dies ist eine komplexere Programmieraufgabe, die es dir ermöglicht, deine Fähigkeiten in der ABAP-Programmierung zu verbessern und zu vertiefen.

Die Übung ist Teil einer Serie von 40 ABAP-Übungen, die auf der Plattform „Exercism“ zur Verfügung stehen. Du kannst diese Übung entweder direkt in Deinem SAP-System bearbeiten oder Dich kostenlos auf der Plattform registrieren und die Übung online bearbeiten. Durch die Möglichkeit, die Lösungen anderer Benutzer zu sehen und Deine eigene Lösung mit diesen zu vergleichen, hast Du die Chance, Deine ABAP-Kenntnisse zu vertiefen und zu verbessern.

Aufgabenstellung

Deine Aufgabe ist es, eine Zahl in eine Zeichenkette umzuwandeln, die Regentropfenklänge enthält, die bestimmten möglichen Faktoren entsprechen. Ein Faktor ist eine Zahl, die eine andere Zahl gleichmäßig teilt und keinen Rest übrig lässt. Die einfachste Art zu prüfen, ob eine Zahl ein Faktor einer anderen ist, ist die Modulo-Operation.

Die Regeln für Regentropfen lauten: Wenn eine gegebene Zahl:

  • 3 als Faktor hat, addiere ‚Pling‘ zu dem Ergebnis.
  • 5 als Faktor hat, füge ‚Plang‘ zum Ergebnis hinzu.
  • 7 als Faktor hat, füge ‚Plong‘ zum Ergebnis hinzu.
  • keine der Zahlen 3, 5 oder 7 als Faktor hat, sollte das Ergebnis die Ziffern der Zahl sein.

Beispiele

  • 28 hat 7 als Faktor, aber nicht 3 oder 5, also wäre das Ergebnis „Plong“.
  • 30 hat sowohl 3 als auch 5 als Faktoren, aber nicht 7, also wäre das Ergebnis „PlingPlang“.
  • 34 wird nicht durch 3, 5 oder 7 faktorisiert, das Ergebnis wäre also „34“.

Beispiel Programmierung

CLASS zcl_raindrops DEFINITION PUBLIC.
  PUBLIC SECTION.
    METHODS raindrops
      IMPORTING
        input         TYPE i
      RETURNING
        VALUE(result) TYPE string.
ENDCLASS.

CLASS zcl_raindrops IMPLEMENTATION.

  METHOD raindrops.
* add solution here
    IF input MOD 3 = 0.
      result = |{ result }Pling|.
    ENDIF.

    IF input MOD 5 = 0.
      result = |{ result }Plang|.
    ENDIF.

    IF input MOD 7 = 0.
      result = |{ result }Plong|.
    ENDIF.

    IF input MOD 3 <> 0 AND
        input MOD 5 <> 0 AND
        input MOD 7 <> 0.
      result = input.
    ENDIF.

  ENDMETHOD.

ENDCLASS.

Erklärung

Die Methode raindrops ist eine Implementierung nimmt die Eingabezahl (input) entgegen und gibt als Ergebnis eine Zeichenkette (result) zurück.

Innerhalb der Methode wird geprüft, ob die Eingabezahl durch 3, 5 oder 7 teilbar ist. Wenn eine dieser Bedingungen erfüllt ist, wird das entsprechende Ergebnis „Pling“, „Plang“ oder „Plong“ an die Zeichenkette result angehängt. Ist keine dieser Bedingungen erfüllt, wird die Eingabezahl direkt in die Zeichenkette result übertragen.

Über den Autor

Andreas Geiger

Mein Name ist Andreas Geiger und ich bin ein erfahrener Senior SAP Berater. Mit mehr als 10 Jahren Berufserfahrung habe ich mehrere SAP-Projekte erfolgreich abgeschlossen und umfangreiche Kenntnisse in verschiedenen Bereichen wie SAP FI, SAP MM und ABAP erworben. Nun möchte ich mein Wissen mit Dir teilen, um Dir einen Mehrwert zu bieten und Dich bei Deiner täglichen Arbeit mit dem SAP-System zu unterstützen.

Mehr zu ERP UP

ERP UP unterstützen

Wenn Du mit ERP UP zufrieden bist, kannst Du mich gerne unterstützen. Dabei gibt es unzählige Möglichkeiten, wie Du mich einfach und schnell unterstützen kannst. Wie Du genau ERP UP unterstützen kannst, erfährst Du hier. Vielen Dank.

Schreibe einen Kommentar