Übungsaufgabe zur Veranstaltung Programmieren 2 im Bachelorstudiengang Wirtschaftsinformatik an der Hochschule Rosenheim.
In dieser Übung implementieren wir die Datenstruktur Stack (siehe Interface CharStack
), und verwenden sie anschließend um Strings auf Palindromeigenschaft zu prüfen.
-
Erstellen Sie wieder einen persönlichen Fork des Projekts.
-
Klonen Sie das Projekt lokal, in dem Sie in IntelliJ das Projekt von Git importieren lassen, oder "per Hand" in der Konsole:
git clone htps://github.com/IHR_BENUTZERNAME/example.git
-
Erstellen Sie einen lokalen Branch
loesung
(oder einem anderen Namen Ihrer Wahl), entweder in IntelliJ (Git Schaltfläche rechts unten -> "+ New Branch") oder in der Konsole (Schaltfläche links unten: "Console"/"Konsole")git checkout -b loesung
-
Vervollständigen Sie die Klasse
CharStackImpl
in dem Sie diepush
,pop
undsize
Methoden implementierenpush
legt ein Element oben auf den Stack,pop
entfernt das oberste; der Stack ist also FILO -- first in-last out.- Denken Sie auch an die benötigte Hilfsklasse um die Elemente zu modellieren.
- Verifizieren Sie, dass der Test
CharStackTest
fehlerfrei abläuft.
-
Fügen Sie die geänderte Datei
CharStackImpl.java
sowie die Hilfsklasse Ihrem Commit hinzu, im IntelliJ mit Rechtsklick -> Git -> Add, oder in der Konsole mitgit add src/main/java/ueb01/CharStackImpl.java
-
Committen und pushen Sie die Änderungen, entweder via VCS -> Commit Changes -> Commit and Push, oder in der Konsole mit
git commit -m "Ihre Commit-Nachricht" git push -u origin loesung
- Implementieren Sie die statische Methode
Palindrom.istPalindrom()
, in der Sie nun den Stack verwenden, um beliebige Strings auf Palindrome zu testen.- Ein String ist ein Palindrom, wenn er vorwärts wie rückwärts die selbst Buchstabenfolge hat, also in der Mitte "gespiegelt" ist. Wie kann dazu der Stack verwendet werden?
- Die Methode
String.replaceAll
kann verwendet werden, um alle Leerzeichen zu entfernen. - Die Methode
String.toLowerCase
(bzw.toUpperCase
) wandelt alle Zeichen in Klein- bzw. Großbuchstaben um - Die Methode
String.toCharArray
gibt den String als Array vonchar
zurück. - Verifizieren Sie, dass der Test
testPalindrom()
fehlerfrei abläuft.
Hinweis: Die kommenden Aufgaben werden Git immer in der selben Art verwenden. Gewöhnen Sie sich diesen Workflow an, wir werden ihn in den weiteren Übungsangaben nicht erneut ausformulieren.
- Mergen Sie nun Ihren Branch
loesung
in denmaster
Branch:- Checken Sie den
master
Branch aus - Mergen Sie
loesung
- Pushen Sie nun alles in Ihr Github Repository.
- Verifizieren Sie auf Github, dass Ihre Änderungen alle übernommen und dokumentiert sind.
- Checken Sie den
Lokales Klonen des Repositorys:
git clone https://github.com/IHR_USERNAME/uebung01
Dann im lokalen Verzeichnis:
git checkout -b loesung # checkout neuer Branch `loesung`
git status # was wurde verändert?
git add src/main/java/ueb01/CharStackImpl.java # staging
git commit -m "Stack fertig implementiert"
# ... weitere commits moeglich!
# lokalen `loesung` Branch pushen, `-u origin loesung`
# da dieser Branch remote noch nicht existiert!
git push -u origin loesung
# mergen:
git checkout master # auf `master` wechseln
git merge loesung # jetzt `loesung` -> `master`
git push # lokalen master pushen