edutecnica

Esercizio 3        

Realizza una pila (di lunghezza indefinita) tramite l'utilizzo della classe ArrayList .


P In questo caso realizziamo un arraylist di caratteri (char). Per semplicità e stato pensato che l'operazione di inserimento (push) degli elementy nell'array venga interrotta inserendo la lettera 'x' ed egualmente dal menu iniziale si termini il programma premendo sempre 'x'.

import java.io.*;
import java.util.ArrayList;

class pila {
public static void main (String[] args) throws IOException{

InputStreamReader input=new InputStreamReader(System.in); BufferedReader h= new BufferedReader(input);
char ch;
ArrayList L=new ArrayList(0);
do{
System.out.println("A]push");
System.out.println("B]pop");
System.out.println("X]EXIT");
ch=h.readLine().trim().charAt(0);
ch=Character.toUpperCase(ch);
switch(ch){
case 'A':push(L);break;
case 'B':if(L.isEmpty()==false)
         L.remove(L.size()-1);
         System.out.println(L);
         break;
default: if(ch!='X')
         System.out.println("Opzione non valida") ;
}//fine switch
}while(ch!='X');
} //fine main

static void push(ArrayList T)throws IOException{
char cx; int i;

InputStreamReader input=new InputStreamReader(System.in);
BufferedReader h= new BufferedReader(input);
do{
System.out.print("carattere? ('x' per terminare):");
cx=h.readLine().trim().charAt(0);
cx=Character.toLowerCase(cx);
if(cx!='x')T.add(cx);
System.out.println(T);
}while(cx!='x');
}//fine push
} //fine classe pila