![]() |
|
||||
Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Dados - Pilhas |
Escreva um programa Java que cria uma classe Pilha usando um array de inteiros como armazenagem interna - Desafio de Programação Resolvido em JavaQuantidade de visualizações: 538 vezes |
|
Pergunta/Tarefa: Escreva um programa Java que cria uma classe Pilha usando um array de inteiros como armazenagem interna. No construtor da classe você deverá permitir ao usuário informar o tamanho desse vetor interno. Forneça as funcionalidades padrão de uma pilha, a saber: empilhar um novo elemento, desempilhar o elemento no topo da pilha, retornar o elemento do topo sem removê-lo, exibir o conteúdo da pilha e verificar se ela está ou não vazia. Sua saída deverá ser parecida com: Pilha vazia: true Inseri os valores 3, 6 e 8 na pilha, nessa ordem Elementos na pilha: 8 6 3 Topo da pilha: 8 Elemento desempilhado: 8 Elementos na pilha: 6 3 Veja a resolução comentada deste exercício usando Java: Primeiro vamos analisar o código para a classe Pilha.java: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
package estudos;
public class Pilha {
private int vetor[]; // vetor que guarda os elementos da pilha
private int topo; // elemento no topo da pilha
// construtor da classe
public Pilha(int tamanho) {
// alocamos memória para o vetor interno da pilha
vetor = new int[tamanho];
// e ajustamos o topo como vazia
topo = -1;
}
// método para empilhar um novo valor na pilha
public void empilhar(int valor) {
// a pilha já está cheia?
if (topo == vetor.length - 1) {
System.out.println("\nA pilha está cheia\n");
}
else {
// incrementa o ponteiro do topo
topo++;
// e guarda o novo valor no topo da pilha
vetor[topo] = valor;
}
}
// método para desempilhar e retornar o elemento
// no topo da plha
public int desempilhar() {
// a pilha está vazia?
if (topo == -1) {
System.out.println("\nPilha vazia\n");
return -1;
}
else {
// obtém o elemento no topo da pilha
int elementoRemovido = vetor[topo];
// decrementa a variável de topo
topo--;
// e retorna o elemento removido
return elementoRemovido;
}
}
// retorna o elemento no topo da pilha sem
// removê-lo
public int topoPilha() {
// a pilha está vazia?
if (topo == -1) {
System.out.println("\nPilha vazia\n");
return -1;
}
else {
// retorna o elemento no topo, mas não remove
return vetor[topo];
}
}
// método para verificar se a pilha está vazia
public boolean pilhaVaiza() {
return topo == -1;
}
// exibe os elementos na pilha
public void exibirPilha() {
// a pilha está vazia?
if (topo == -1) {
System.out.println("\nPilha vazia\n");
}
else {
System.out.print("Elementos na pilha: ");
for (int i = topo; i >= 0; i--) {
System.out.print(vetor[i] + " ");
}
System.out.println();
}
}
}
Agora veja o código para a classe Estudos.java, que nos permite testar a nossa classe Pilha: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
package estudos;
public class Estudos {
public static void main(String[] args) {
// Vamos criar uma nova pilha
Pilha pilha = new Pilha(10);
// a pilha está vazia?
System.out.println("Pilha vazia: " + pilha.pilhaVaiza());
// vamos inserir 3 elementos na pilha
System.out.println("Inseri os valores 3, 6 e 8 na pilha, nessa ordem");
pilha.empilhar(3);
pilha.empilhar(6);
pilha.empilhar(8);
// vamos exibir o conteúdo da pilha
pilha.exibirPilha();
// vamos mostrar o topo da pilha
System.out.println("Topo da pilha: " + pilha.topoPilha());
// vamos desempilhar um elemento da pilha
System.out.println("Elemento desempilhado: " + pilha.desempilhar());
// vamos exibir o conteúdo da pilha novamente
pilha.exibirPilha();
}
}
|
|
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





