Advertisement
Guest User

pilha do satan

a guest
Mar 19th, 2019
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.48 KB | None | 0 0
  1. import java.util.*;
  2.  
  3. public class pilhaGenerica<T> {
  4.  
  5.     private Vector<Vector<String>> pilhaPrincipal = new Vector<Vector<String>>();
  6.     private Vector<String> pilhaSecundaria = new Vector<String>();
  7.    
  8.     public void armazenaTexto(String texto){
  9.        
  10.        
  11.        
  12.         //Separa a frase em palavras e armazena num vetor de strings
  13.         String[] armazenados = texto.split(" ");
  14.        
  15.         for(int i = 0; i < armazenados.length ;i++) {
  16.            
  17.             //Separa as palavras em letras e armazena em um vetor de Char
  18.             char[] aux = armazenados[i].toCharArray();
  19.            
  20.             for(int j = 0; j <= aux.length-1;j++) {
  21.                
  22.                 //Adiciona na pilha secundaria as letras da palavra
  23.                 String[] aux2 = new String[aux.length];
  24.                 aux2[j]= Character.toString(aux[j]);
  25.                 this.pilhaSecundaria.add(aux2[j]);
  26.  
  27.             }
  28.            
  29.             //Adiciona na pilha principal a pilha secundaria
  30.             this.pilhaPrincipal.add(pilhaSecundaria);
  31.            
  32.             //Limpa a pilha secundaria para dar espaço a proxima palavra
  33.             this.pilhaSecundaria.clear();
  34.         }
  35.        
  36.     }
  37.     //NAO TA FUNCIONANDO N SEI PQ
  38.     public String retornaTextoOriginal(){  
  39.        
  40.         StringBuilder texto = new StringBuilder();
  41.         String retorno;
  42.         for(int i = 0; i < this.pilhaPrincipal.size(); i++) {
  43.                
  44.             StringBuilder palavra = new StringBuilder();
  45.  
  46.             for(int j = 0; j < this.pilhaPrincipal.get(i).size();j++) {
  47.  
  48.                 palavra.append(this.pilhaPrincipal.get(i).get(j).toString());
  49.  
  50.             }
  51.        
  52.             texto.append(palavra + " ") ;
  53.        
  54.         }
  55.        
  56.         retorno = texto.toString();
  57.        
  58.         return retorno;
  59.     }
  60.    
  61. //NAO TA FUNCIONANDO N SEI PQ
  62.     public String retornaTexto(){
  63.        
  64.         StringBuilder texto = new StringBuilder();
  65.         String retorno = " ";
  66.        
  67. //AQUi REALMENTE É PRA TIRAR DA PILHA DE CIMA PRA BAIXO GERANDO UMA FRASE NA ORDEM CONTRARIA A FRASE INSERIDA PRIMEIRO
  68.         for(int i = this.pilhaPrincipal.size()-1; i >=0 ; i--) {
  69.  
  70.             StringBuilder palavra = new StringBuilder();
  71.  
  72.             for(int j = 0; j < this.pilhaPrincipal.get(i).size();j++) {
  73.  
  74.                 palavra.append(this.pilhaPrincipal.get(i).get(j).toString());
  75.  
  76.             }
  77.        
  78.             texto.append(palavra + " ") ;
  79.        
  80.         }
  81.        
  82.         retorno = texto.toString();
  83.        
  84.         return retorno;
  85.     }
  86.  
  87.    
  88.    
  89.     public static void main(String[] args) {
  90.  
  91.         String frase;
  92.         Scanner entrada = new Scanner(System.in);
  93.        
  94.         System.out.println("Insira uma frase");
  95.         frase = entrada.nextLine();
  96.        
  97.         pilhaGenerica pilha = new pilhaGenerica();
  98.        
  99.         pilha.armazenaTexto(frase);
  100.        
  101.         System.out.println(pilha.retornaTexto());
  102.         System.out.println(pilha.retornaTextoOriginal());
  103.  
  104.  
  105.     }
  106.  
  107. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement