Folgendes Beispiel zur Klasse Stack liest eine beliebige Anzahl von Zeilen ein und
gibt diese in umgekehrter Reihenfolge wieder aus:
import java.util.Stack;
import java.io.*;
public class StackDemo {
public static void main(String args[]) {
BufferedReader stdin = new BufferedReader(
new InputStreamReader(System.in));
PrintWriter stdout = new PrintWriter(System.out,true);
Stack s = new Stack(); // Neuer Stack
String text = "";
// So lange Zeilen einlesen und dem Stack zufügen,
// bis 'stop' eingegeben wird
do {
try {
text = stdin.readLine(); // Zeile einlesen und
s.push(text); // auf dem Stack speichern
}
catch (IOException e) {
stdout.println("Error: "+e);
}
} while(! (text.equals("stop")));
// Alle Zeilen vom Stack entfernen und ausgeben
while (! s.empty())
stdout.println(s.pop());
}
}
Nachdem eine Zeile eingegeben wurde, wird sie oben auf den Stack gepackt:
s.push(text); // auf dem Stack speichern
Dieser Vorgang wird so lange wiederholt, bis eine Eingabe nur das Wort »stop«
enthält. Danach werden alle Elemente vom Stack entfernt
und auf der Standardausgabe ausgegeben.
// Alle Zeilen vom Stack entfernen und ausgeben
while (! s.empty())
stdout.println(s.pop());