Olá amigos, a alguns dias atrás postei aqui algumas duvidas sobre pilhas !!! Já que não tivesse aula sobre o assunto ainda e a maioria do conteúdo que encontrei ainda é um pouco vago, resolvi começar desenvolvendo um código usando apenas vetor sem utilizar a classe Stack, porém me surgiu uma duvida ao terminar o código: Será que ele se encaixa no conceito que envolve pilha? Vou deixa-lo abaixo para que possam analisa-lo:
[code]import javax.swing.JOptionPane;
public class Principal {
/**
* @By: Robson Barreto
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String elemento[]= new String [10];
String resultado ="";
int op;
do{
op=Integer.parseInt(JOptionPane.showInputDialog("Escola uma opção"+"\n1-Empilhar"+"\n2-Desempilhar"+"\n0-Sair"));
switch(op){
case 1:
for(int i=0;i<10;i++){
elemento[i]=JOptionPane.showInputDialog("Digite o elemento"+" "+(i+1));
if(elemento[i].isEmpty()){
JOptionPane.showMessageDialog(null,"Elemento não pode ser nulo!");
System.exit(0);
}
}
for(int i=0;i<10;i++){
resultado=resultado+((i+1)+" "+elemento[i])+"\n";
JOptionPane.showMessageDialog(null,"Sua pilha está assim: "+"\n"+resultado);
}
break;
case 2:
for(int i=10-1;i>=0;i--){
resultado="";
resultado=resultado+((i+1)+" "+elemento[i])+"\n";
JOptionPane.showMessageDialog(null,"Removendo elemento: "+"\n"+resultado);
}
break;
default:
JOptionPane.showMessageDialog(null,"Opção invalida");
break;
case 0:
JOptionPane.showMessageDialog(null,"Finalizando programa...");
}
}while(op!=0);
}
}[/code]
Explicando um pouco sobre o código acima: no momento esse código está pedindo 10 nomes(um vetor com 10 posições) e impedindo que alguma posição fique nula usando a função isEmpty, logo após ele exibe os elementos em suas devidas posições.Agora vem a parte que ficou meio(ou muito) vaga: Procurei como remover elementos de uma vetor porém os textos que encontrei não me fizeram entender como isso pode ser feito, então nesse caso essa parte do código exibe a mensagem removendo elemento: + posição do elemento e seu valor( do elemento que está no topo até o elemento que está na base da pílha) !!! Esse meu código se encaixa em pilhas? Como posso melhora-lo? E a ultima pergunta: O uso da classe Stack é a melhor opção para demonstrar uma pilha em funcionamento? Obrigado amigos!!!