Pilha

SOCORROOO!!! É uma prova para amanhã!!!
Gente eu me perdi, nem sei mais o que tá acontecendo.
Eu preciso que esse código simule o avançar,voltar e adicionar do navegador com “PILHA”

package br.sp.senai.navegador;

import javax.swing.JOptionPane;

public class Navegador {
int inicio;
int fim;
int tamanho;
int qtdeElementos;
int p[];

    public Navegador(){
        inicio = fim = -1;
        tamanho = 100;
        p = new int[tamanho];
        qtdeElementos = 0;
    }

    public boolean vazia(){
        if (qtdeElementos == 0){
            return true;
        }
        return false;
    }

    public boolean cheia(){
       if (qtdeElementos == tamanho - 1){
            return true;
       }
        return false;
    }

    public void adicionar(int e){
        if (! cheia()){
            if (inicio == -1){
                inicio = 0;
            }
            fim++;
            p[fim] = e;
            qtdeElementos++;
        }
    }
    public void remover(int e){
        if (! vazia() ){
            if (inicio == 100){
                inicio = 100;
            }
            fim--;
            p[fim] = e;
            qtdeElementos--;
        }
    }
    public void mostrar(){
        String elementos = "";
        for (int i = fim; i>=0; i--) {
            elementos += p[i]+ " - ";
        }
        JOptionPane.showMessageDialog(null, elementos);
     }	

}

=======================================================
package br.sp.senai.navegador;

import javax.swing.JOptionPane;

public class Testa {
public static void main(String[] args) {
Navegador p1 = new Navegador();// Tamanho da Pilha inserido como parametro.

	boolean executar = true;
	while (executar == true) {

		
		int op = Integer.parseInt(JOptionPane.showInputDialog("Digite |1| para iniciar"));

		
		if (op == 1) {
			int opcao = Integer.parseInt(JOptionPane.showInputDialog("Escolha uma Opção: \n" + "|1|- ADICIONAR\n"
					                                                                         + "|2|- VOLTAR\n"
					                                                                         + "|3|- AVANÇAR\n"
					                                                                         + "|4|- HISTÓRICO\n"));
			while (!(opcao == 6)) {
				if (opcao == 1) {

					JOptionPane.showInputDialog("Digite uma URL:");
					p1.adicionar(opcao);
				}
				break;
			}
			if (opcao == 2) {
				if (p1.vazia()) {
					JOptionPane.showMessageDialog(null, "HISTÓRICO VAZIO!");
					break;
				} else {
					p1.remover(opcao);
				}
				break;
			}
			if (opcao == 3) {
				if (p1.vazia()) {
					JOptionPane.showMessageDialog(null, "HISTÓRICO VAZIO!");
					break;
				} else {
					if (p1.cheia()) {
						JOptionPane.showMessageDialog(null, "HISTÓRICO CHEIO!");
						break;
					}
				}
			}
			if (opcao == 4) {
				p1.mostrar();
				break;
			}

		}

	}
}

}

Acho que sua pilha não está funcionando.

Encontrei código pronto:

1 curtida