Erro OutOfBoundsException Java Pilha

Oracle

Java

Engenharia de Software

Automação Comercial

Modelagem

Front-end

Infraestrutura

Off Topic

08/03/2016

Olá pessoas lindas, estou trabalhando em implementar um modelo simples de pilha no java utilizado uma classe, MAS, estou com esse erro, procurei em vários fóruns alguma resposta para o meu problema, mas, sem sucesso :(... Poderia dar uma olhada e me ajudar ?

-----------------------------------------Main-----------------------------------


Pilhada P = new Pilhada();//criando minha pilha(objeto)

Scanner sc = new Scanner (System.in);//importando o scanner para resgatar os valores digitados

//inserindo dados na minha pilha(Push)

while (P.VerfPilhaCheia() == false) {
System.out.println("Digite um número: ");
P.Push(sc.nextInt());//envia o valor digitado pelo usuario
}

//retirando os valores da minha pilha(Pop)

while (P.VerfPilhaVazia() == false) {
System.out.println("Pop: " + P.getTopo());
System.out.println(P.Pop());
}


-----------------------------------------Classe-----------------------------------

final int TAMANHODAPILHA = 3;

private int Pilha_Vet[];
private int iTopo;

public Pilhada() {
iTopo = - 1;
Pilha_Vet = new int[TAMANHODAPILHA];
}

public boolean VerfPilhaVazia() {
if (iTopo == -1) {
System.out.println("Pilha Vazia!!!");
return true;//se a pilha estiver vazia
} else {
return false;//se a pilha não estiver vazia
}
}

public boolean VerfPilhaCheia() {
if (iTopo == TAMANHODAPILHA) {
System.out.println("Pilha Cheia!!!");
return true;//se a pilha estiver cheia
} else {
return false;//se a pilha não estiver cheia
}
}

public void Push(int iNum) {
/*if (this.VerfPilhaCheia() == true) {//verifica se a pilha está cheia
System.out.println("Pilha cheia!!!");//caso esteja imprime esta mensagem
} else {//caso não*/
this.iTopo = this.iTopo + 1;//acrescenta +1 ao indice
this.Pilha_Vet[this.iTopo] = iNum;//e armazena no vetor o valor
// }
}

public int Pop() {
/* if (this.VerfPilhaVazia() == true) {
System.out.println("Pilha vazia!!!");
return 0;
} else {*/
this.iTopo = this.iTopo - 1;
return this.Pilha_Vet[this.iTopo];
// }
}

public int getTopo() {
return this.iTopo;
}
David Fornazier

David Fornazier

Curtidas 0
POSTAR