public class ZeichenkettenUmkehr {
// Methode zur Umkehr der Zeichenkette mithilfe eines Stacks
public static String umkehrenMitStack(String eingabe) {
Stack<Character> stack = new Stack<>();
// Zeichen einzeln auf den Stack legen
for (char zeichen : eingabe.toCharArray()) {
stack.push(zeichen);
}
// Zeichen vom Stack lesen (LIFO) -> umgekehrte Reihenfolge
StringBuilder umgekehrt = new StringBuilder();
while (!stack.isEmpty()) {
umgekehrt.append(stack.pop());
}
return umgekehrt.toString();
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// Eingabedialog
System.out.print("Bitte geben Sie eine Zeichenkette ein: ");
String eingabe = scanner.nextLine();
// Methode aufrufen und Ergebnis ausgeben
String umgekehrt = umkehrenMitStack(eingabe);
System.out.println("Umgekehrte Zeichenkette: " + umgekehrt);
scanner.close();
}
}