Advertisement
Guest User

Untitled

a guest
Nov 29th, 2015
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.50 KB | None | 0 0
  1. package Uebung8;
  2. import utilities.*;
  3.  
  4. public class Stack_Aufgabe_4_6 {
  5.    
  6.     private int feld[] = new int[100];  // Array zum Anlegen des Stack
  7.     private int index;                  // Index, der auf den naechsten freien Kellerplatz zeigt
  8.    
  9.     Stack_Aufgabe_4_6() {              // Konstruktor
  10.             index = -1; //...       // leerer Stack
  11.     }
  12.    
  13.    
  14.     public void push (int elem) {
  15.         if(index == feld.length-1) {
  16.             System.out.println("Stack ist voll.");// ... Stack ist voll
  17.         } else {
  18.             index++;
  19.             feld[index] = elem;
  20.             System.out.println(elem + " an Position " + index + " eingefügt.");//...
  21.         }
  22.     }
  23.    
  24.     public void pop() {
  25.         if (index == -1) {
  26.             System.out.println("Stack ist leer."); // ... Stack ist leer
  27.         } else {
  28.              feld[index] = 0;
  29.              index--;   //...       // Das Element wird nicht geloescht, lediglich der Platz im Array wird als frei markiert
  30.         }
  31.     }
  32.    
  33.     public int top() {
  34.         if (index == -1) {
  35.             System.out.println("Stack ist leer.");
  36.             return -1;  // ... Stack ist leer
  37.         } else {
  38.              return feld[index];   //...    // da Index auf die naechste freie Stelle zeigt, muss der Wert an der Stelle index-1 ausgegeben werden
  39.         }
  40.     }
  41.    
  42.     public void show() {
  43.         for (int ind = index; ind >= 0; ind--) {
  44.             System.out.println(feld[ind]);
  45.         }
  46.     }
  47.    
  48.    
  49.     public static void main(String args[]) {
  50.        
  51.         Stack_Aufgabe_4_6 stack = new Stack_Aufgabe_4_6();
  52.         boolean doneFlag = false;
  53.        
  54.         while(!doneFlag) {
  55.             System.out.println("\nBitte waehlen Sie...\n");
  56.             System.out.println("1 Zahl auf Stack ablegen");
  57.             System.out.println("2 obersten Wert lesen");
  58.             System.out.println("3 Zahl von Stack loeschen");
  59.             System.out.println("4 Kompletten Stack anzeigen");
  60.             System.out.println("jede andere Eingabe beendet das Programm\n");
  61.            
  62.             int i = TastaturEingabe.readInt("Bitte Zahl eingeben: ");
  63.            
  64.             switch(i) {
  65.                 case 1: {
  66.                     i = TastaturEingabe.readInt("Bitte Stack-Wert eingeben:");
  67.                     stack.push(i);
  68.                     break;
  69.                 }
  70.                 case 2: {
  71.                     if (stack.top()!=0)
  72.                         System.out.println("Die oberste Zahl ist: " + stack.top());
  73.                     break;
  74.                 }
  75.                 case 3: {
  76.                     if (stack.top()!=0){
  77.                         System.out.println("Die oberste Zahl " + stack.top()+ " wird geloescht.");
  78.                         stack.pop();
  79.                     }  
  80.                     break;
  81.                 }
  82.                 case 4: {
  83.                     if (stack.top()!=0) {
  84.                         System.out.println("gesamter Stackinhalt: ");
  85.                         stack.show();
  86.                     }
  87.                     break;
  88.                 }
  89.                 default: {
  90.                     System.out.println("\nProgramm wird beendet.");
  91.                     doneFlag = true;
  92.                 }
  93.             }
  94.         }
  95.            
  96.     }
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement