Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- public class pilhaGenerica<T> {
- private Vector<Vector<String>> pilhaPrincipal = new Vector<Vector<String>>();
- private Vector<String> pilhaSecundaria = new Vector<String>();
- public void armazenaTexto(String texto){
- //Separa a frase em palavras e armazena num vetor de strings
- String[] armazenados = texto.split(" ");
- for(int i = 0; i < armazenados.length ;i++) {
- //Separa as palavras em letras e armazena em um vetor de Char
- char[] aux = armazenados[i].toCharArray();
- for(int j = 0; j <= aux.length-1;j++) {
- //Adiciona na pilha secundaria as letras da palavra
- String[] aux2 = new String[aux.length];
- aux2[j]= Character.toString(aux[j]);
- this.pilhaSecundaria.add(aux2[j]);
- }
- //Adiciona na pilha principal a pilha secundaria
- this.pilhaPrincipal.add(pilhaSecundaria);
- //Limpa a pilha secundaria para dar espaço a proxima palavra
- this.pilhaSecundaria.clear();
- }
- }
- //NAO TA FUNCIONANDO N SEI PQ
- public String retornaTextoOriginal(){
- StringBuilder texto = new StringBuilder();
- String retorno;
- for(int i = 0; i < this.pilhaPrincipal.size(); i++) {
- StringBuilder palavra = new StringBuilder();
- for(int j = 0; j < this.pilhaPrincipal.get(i).size();j++) {
- palavra.append(this.pilhaPrincipal.get(i).get(j).toString());
- }
- texto.append(palavra + " ") ;
- }
- retorno = texto.toString();
- return retorno;
- }
- //NAO TA FUNCIONANDO N SEI PQ
- public String retornaTexto(){
- StringBuilder texto = new StringBuilder();
- String retorno = " ";
- //AQUi REALMENTE É PRA TIRAR DA PILHA DE CIMA PRA BAIXO GERANDO UMA FRASE NA ORDEM CONTRARIA A FRASE INSERIDA PRIMEIRO
- for(int i = this.pilhaPrincipal.size()-1; i >=0 ; i--) {
- StringBuilder palavra = new StringBuilder();
- for(int j = 0; j < this.pilhaPrincipal.get(i).size();j++) {
- palavra.append(this.pilhaPrincipal.get(i).get(j).toString());
- }
- texto.append(palavra + " ") ;
- }
- retorno = texto.toString();
- return retorno;
- }
- public static void main(String[] args) {
- String frase;
- Scanner entrada = new Scanner(System.in);
- System.out.println("Insira uma frase");
- frase = entrada.nextLine();
- pilhaGenerica pilha = new pilhaGenerica();
- pilha.armazenaTexto(frase);
- System.out.println(pilha.retornaTexto());
- System.out.println(pilha.retornaTextoOriginal());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement