]//Classe Pilha
import javax.swing.JOptionPane;
public class Pilha{
private int tamanho;
private int posicao;
private String conteudo[];
//Construtor
public Pilha(int t){
this.tamanho=t;
this.posicao=-1;
this.conteudo=new String[t];
}//fim do construtor
//Metodos gerais
//Metodo para empilhar
public void Empilhar(String e){
if(estaCheia())
return;
this.posicao ++;
this.conteudo[this.posicao]=e;
}//fim do metodo Empilhar
//Metodo para desempilhar
public String Desempilhar(){
if(estaVazia())
return "";
String aux= this.conteudo[this.posicao];
this.posicao--; //coloca o elemento na primeira posicao
this.conteudo[this.posicao]="";
return aux;
}//fim do metodo desempilhar
public void Esvaziar(){
}
//Metodo ultimo que retorna o ultimo elemento
public String Ultimo(){
return this.conteudo[this.posicao];
}//fim do metodo ultimo
//Metodo para verificar se a pilha esta vazia
public boolean estaVazia(){
if(this.posicao == -1){
JOptionPane.showMessageDialog(null,"Pilha Vazia","Pilha",JOptionPane.INFORMATION_MESSAGE);
return true;
}//fim do if
else
return false;
}//fim do metodo estaVazio
//Metodo para verificar se a pilha esta cheia
public boolean estaCheia(){
if(this.posicao == this.tamanho){
JOptionPane.showMessageDialog(null,"Pilha cheia","Pilha",JOptionPane.INFORMATION_MESSAGE);
return true;
}//fim do if
else
return false;
}//fim do metodo estaCheio
//Metodo numero de elementos
public int numElementos(){
return this.posicao;
}//fim do metodo numElementos
}//fim da classe
agora do testepilha ta dando erro no construtor, alguem pode me ajudar?
//Classe TestePilha
public class TestePilha{
//metodo main
public static void main(String args[]){
//cria atributo do tipo Pilha
Pilha testepilha=new Pilha();
System.out.println(testepilha.numElementos());
System.out.println(testepilha.estaCheia());
System.out.println(testepilha.Desempilhar());
System.out.println(testepilha.estaVazia());
System.exit(0);
}//fim do metodo main
}//fim da classe TestePilha
Duvida de pilha
E
alguem pode me dizer se esta certo?
segue o codigo da pilha e do testepilha:
pilha
como faço para mostrar na tela a pilha de vetores usando os metodos?
[size="11"][color="red"]* Editado: Lembre-se de utilizar BBCode em seus códigos - Ratinho[/color][/size] :joia:
1 Resposta
Ola eliza!
eu so dei uma olhada rapida, mas ai vai
seu constrtor pede um inteiro, correspondente ao tamanho da pilha, vc não esta passando esse inteiro
no seu metodo desempilha vc recupera o ultimo elemento empilhado, depois desce 1 indice, e seta o conteudo do indice anterior pra “”
tipo
indice 10 = “10”
this.posicao-- -> indice 9 agora
indice 9 = “”
lembre-se q indices de arrays começam do zero, seu metodo estaCheia
faz essa verificação -> if(this.posicao == this.tamanho)
so q se vc criar um array de 10 posições (tamanho = 10) a maior posição sera 9!!

Criado 19 de agosto de 2006
Ultima resposta 19 de ago. de 2006
Respostas 1
Participantes 2