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!
Pilhas!
9 Respostas
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…
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…
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!
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();
}
}
É verdade…
Mil perdões…nem percebi que era com pilha…nossa…vou pra aula depois dessa…to muito cansado…nem conseguindo mais ler…
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.
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();
Jalmat, seu professor por acaso é o TIRELO ?