edutecnica

Esercizio 3        

Realizza un programma per gestire una pila di interi di max 5 elementi attraverso una classe pila che deve prevedere dei metodi per l'inserimento e per l'estrazione di un elemento.



import java.util.Scanner;
class provaPila{
public static void main (String args []){
Scanner in=new Scanner(System.in);
int ch,num;
Pila p = new Pila();
do{
  System.out.println("1-Push");
  System.out.println("2-Pop");
  System.out.println("3-Exit");
  ch =in.nextInt();
  switch (ch) {
    case 1:
    System.out.print("inserisci:");
    num=in.nextInt();
    p.push(num);
    break;
    case 2:
    System.out.println("estrazione");
    p.pop();
    break;
    case 3:
    System.out.println("EXIT"); break;
    default:
      System.out.println("selezione non valida");
      break;
  }//fine switch
}while(ch!=3);
in.close();
}//fine main
}// fine classe provaPila

class Pila {
private boolean full=false;
private int i,j;
private int T[] = new int[5];
public void print(){
  for(i=0;i < T.length;i++)
       System.out.print(T[i]+" ");
  System.out.println("-> j="+j);
}//fine print
public void push(int numero){
if(!full){
  T[j] = numero;
  j++;
  if(j==T.length)full=true;
}
print();
}//fine push
public void pop(){
if(j!=0)j--;
T[j]=0;
full=false;
print();
}//fine pop
}//fine classe Pila

Nella classe Pila è stata inserita la variabile logica full che indica se la pila è piena o vuota, la variabile j tiene conto della posizione dell'ultimo elemento inserito.
In realtà ci vorrebbero anche i metodi che segnalano se la pila è piena o vuota. La classe Pila non è dotata di costruttore, quindi, al momento della creazione dell'oggetto. Tutti i suoi attributi sono impostati a 0.