Pilhas!

9 respostas
J

Ai galera… To me matando aqui com um trabalho da facul!!
O professor pediu pra fazer uma pilha que leia a palavra e
depois escreva a palavra ao contrario!
tem que usar o JoptionPane.ShowInputDialog e demais…
Alguem ai pode me ajudar?
Obrigado galera!

9 Respostas

claudneto

Pra escrever ao contrario vc pode fazer um for assim:

String contrario = ""; for (int i = palavra.length(); i >= 0; i--) { contrario = contrario + palavra.charAt(i); }

Ele vai concatenar cada char de trás pra frente…na String contrario…

renzonuccitelli

Claudineto,

Pelo que ele comentou do exercício, ele precisa ler o código, empilhando os carcters em uma pilha, e mostrando ela ao contrário apenas desemplilhando esses carcteres.
Monte a Pilha usando uma LinkedList, leia a palavra que kiser, empilhe os caracteres um a um. Depois vá desempilhando os caracteres, imprimindo um a um. Essa é a solução que seu professor deseja…

J

Pilha


-Topo: int;
PilhaArray: int[];


+push(int x): boolean;

+pop(): int;

+peek(): int;

+isFull(): boolean;

+isEmpty(): boolean;

+Print();

+GetSize(): int;

+GetMax(): int;

Como que eu implemento essa classe?
A pegada tah feia aki galera!
Quem puder me ajudar, muito obrigado!

renzonuccitelli
import java.util.LinkedList;
import java.util.List;


public class Pilha {
	LinkedList<Character> caracteres;

	public Pilha() {
		caracteres=new LinkedList<Character>();
	}
	
	public void push(Character caracter){
		caracteres.addLast(caracter);
	}
	
	public Character pop(){
		return caracteres.removeLast();
	}

}
claudneto

É verdade…

Mil perdões…nem percebi que era com pilha…nossa…vou pra aula depois dessa…to muito cansado…nem conseguindo mais ler…

renzonuccitelli
import java.util.LinkedList;
import java.util.List;


public class Pilha {
	LinkedList<Character> caracteres;

	public Pilha() {
		caracteres=new LinkedList<Character>();
	}
	
	public void push(Character caracter){
		caracteres.addLast(caracter);
	}
	
	public Character pop(){
		return caracteres.removeLast();
	}
	
	public boolean isEmpty(){
		return caracteres.size()==0;
	}

}

Toma aí o método isEmpty para te facilitar a vida, na hora de escrever. Agora basta vc ler a String do usuário, empilhar caracter a caracter usando push(). depois desempilha todos os caracteres, imprimindo.

sergiotaborda

claudneto:
Pra escrever ao contrario vc pode fazer um for assim:

String contrario = ""; for (int i = palavra.length(); i >= 0; i--) { contrario = contrario + palavra.charAt(i); }

Ele vai concatenar cada char de trás pra frente…na String contrario…

ou assim:

return new StringBuilder(palavra).reverse().toString();
gpd38

Jalmat, seu professor por acaso é o TIRELO ?

pcalcado

http://www.guj.com.br/posts/list/106009.java

Criado 26 de setembro de 2008
Ultima resposta 12 de out. de 2008
Respostas 9
Participantes 6