Programe uma pilha com as operações push(int valor) e pop(). Após a criação da classe Pilha, instancie uma pilha com cinco posições preencha a mesma com dados informados pelo usuário. Em seguida remova dois elementos da mesma e apresente os dados na pilha para o usuário.
Código Java
//Autor; Thiago Campos
//Data: 25.09.2012
package thiago.prova.questoes;
import javax.swing.JOptionPane;
import thiago.prova.questoes.classe.Q3Pilha;
/**
*
* @author Thiago
*/
public class Questao3 {
public static void main(String[] args) {
//variaveis
int n;
int v; //recebe o retorno do metodo verificaConteudo
int k = 5; //qtd de vezes do laço
//criação da pilha
Q3Pilha pilha = new Q3Pilha();
for (int j = 0; j < k; j++) {
n = Integer.parseInt(JOptionPane.showInputDialog("Informe a pilha: "));
v = pilha.verificaConteudo(n);
//caso a pilha ja tenha o elemento
if (v == 1) {
JOptionPane.showMessageDialog(null, "Elemento ja está contido na pilha.");
k += 1; //incrementa o tamanho do laço pq o elemento está repetido
continue; //volta para o inicio do for
} else {
pilha.push(n); //chama o metodo push
}
}//fim do for
//exibindo a pilha
pilha.exibirPilha();
//retirando 2 elementos da pilha
pilha.pop();
pilha.pop();
pilha.exibirPilha();
} //fim do main
} //fim da classe
/*---------------------------------------------------------------------------------------------------------
* INICIO DA CLASSE Q3_PILHA
---------------------------------------------------------------------------------------------------------*/
package thiago.prova.questoes.classe;
import javax.swing.JOptionPane;
/**
*
* @author Thiago
*/
public class Q3Pilha {
//variaveis
private int topo = -1;
private Integer[] v = new Integer[5];
//metodo push
public void push(int valor) {
if (topo < v.length) {
topo++;
v[topo] = valor;
} else {
JOptionPane.showMessageDialog(null, " A pilha está cheia.");
}
}
//metodo pop
public void pop() {
if (topo >= 0) {
v[topo] = null;
topo--;
} else {
JOptionPane.showMessageDialog(null, "Pilha Vazia.");
}
}
//exibir pilha
public void exibirPilha() {
String pilha = "";
for (int i = 0; i < v.length; i++) {
pilha += v[i] + " ";
}
JOptionPane.showMessageDialog(null, "Elementos da pilha:\n" + pilha);
} //fim do metodo exibirPilha
//metodo verifica se ha elemento igual na pilha
public int verificaConteudo(int n) {
for (int i = 0; i <= topo; i++) {
if (topo >= 0 && v[i] == n) {return 1;}
} //fim do for
return 0;
} //fim do metodo
} //fim da classe
Nenhum comentário:
Postar um comentário