Ordenação de vetores com letras do alfabeto

Publicado por Lennon Jesus 11/08/2006

[ Hits: 17.411 ]

Homepage: https://www.melhoresdiaristas.com.br

Download Alfabeto.java




   1 - Declara um vetor com as letras do alfabeto maiúsculas e minúsculas;
   2 - Embaralha as letras dentro do vetor;
   3 - Reordena as letras de acordo com um valor numérico atribuído às mesmas.

  



Esconder código-fonte

/*
   Alfabeto.java
   
   Autor: Lennon Jesus (lgi2020@hotmail.com)
   15:57 24/04/2006
   
   1 - Declara um vetor com as letras do alfabeto maiúsculas e minúsculas;
   2 - Embaralha as letras dentro do vetor;
   3 - Reordena as letras de acordo com um valor numérico atribuído às mesmas.
*/

import java.util.Random;

class Alfabeto
{
   static char chrVetor[] =    {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z',
                        'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
   
   static int intVetor[] =   new int[52];
   static int intCont;
   static int intPos1;
   static int intPos2;
   static int intTmp;   

   static char chrTmp;
   static boolean blnExec = true;

   static String strVetor = "";
   static Random intRdn = new Random();

   public static void main(String args[])
   {
      imprimeVetor(); //Imprime o vetor como foi definidio inicialmente.
      
      desordenaVetor(); //Embaralha o vetor original.
      imprimeVetor(); //Imprime o vetor embaralhado.
      
      ordenaVetor(); //Reordena o vetor de acord com o "valor numérico" das letras.
      imprimeVetor(); //Imprime o novo vetor reordenado de acordo com o "valor numérico" das letras.
   }
   
   public static void imprimeVetor()
   {
      strVetor = "";
      
      for (intCont = 0; intCont < chrVetor.length; intCont++)
      {
         strVetor += chrVetor[intCont] + " ";
      }
      
      System.out.println("imprimindo o vetor...");
      System.out.println(strVetor); //imprimindo o vetor.
      System.out.println();
      
   }
   
   public static void desordenaVetor() //Método para embaralhar as letras aleatoriamente dentro do vetor
   {
      for (intCont = 0; intCont < 100; intCont++)
      {
         intPos1 = intRdn.nextInt(52); 
         intPos2 = intRdn.nextInt(52); 
         
         if (intPos1 != intPos2)
         {
            chrTmp = chrVetor[intPos1];
            chrVetor[intPos1] = chrVetor[intPos2];
            chrVetor[intPos2] = chrTmp;
         }
      }
   } // Fim do método para embaralhar as letras aleatoriamente dentro do vetor
   
   public static void ordenaVetor() //Método para ordenar as letras dentro do vetor de acordo com o valor numérico atribuido a elas
   {
      for (intCont = 0; intCont < chrVetor.length; intCont++)
      {
         intVetor[intCont] = converteCharParaInt(chrVetor[intCont]);
      }
      
      blnExec = true;
      
      while (blnExec)
      {
         blnExec = false;
         
         for (intCont = 0; intCont < intVetor.length - 1; intCont++)
         {
            if (intVetor[intCont] > intVetor[intCont + 1])
            {
               intTmp = intVetor[intCont];
               intVetor[intCont] = intVetor[intCont + 1];
               intVetor[intCont + 1] = intTmp;
               blnExec = true;
            }
         }
      }
      
      for (intCont = 0; intCont < intVetor.length; intCont++)
      {
         chrVetor[intCont] = converteIntParaChar(intVetor[intCont]);
      }
   } //Fim do método para ordenar as letras dentro do vetor de acordo com o valor numérico atribuido a elas
   
   public static int converteCharParaInt(char chrLetra) //Método que recebe uma letra (char) e retorna o valor inteiro atribuído a mesma.
   {
      int intLetra = 0;
   
      switch (chrLetra)
      {
         case 'A':
         {
            intLetra = 1;
            break;
         }
         case 'a':
         {
            intLetra = 2;
            break;
         }
         case 'B':
         {
            intLetra = 3;
            break;
         }
         case 'b':
         {
            intLetra = 4;
            break;
         }
         case 'C':
         {
            intLetra = 5;
            break;
         }
         case 'c':
         {
            intLetra = 6;
            break;
         }
         case 'D':
         {
            intLetra = 7;
            break;
         }
         case 'd':
         {
            intLetra = 8;
            break;
         }
         case 'E':
         {
            intLetra = 9;
            break;
         }
         case 'e':
         {
            intLetra = 10;
            break;
         }
         case 'F':
         {
            intLetra = 11;
            break;
         }
         case 'f':
         {
            intLetra = 12;
            break;
         }
         case 'G':
         {
            intLetra = 13;
            break;
         }
         case 'g':
         {
            intLetra = 14;
            break;
         }
         case 'H':
         {
            intLetra = 15;
            break;
         }
         case 'h':
         {
            intLetra = 16;
            break;
         }
         case 'I':
         {
            intLetra = 17;
            break;
         }
         case 'i':
         {
            intLetra = 18;
            break;
         }
         case 'J':
         {
            intLetra = 19;
            break;
         }
         case 'j':
         {
            intLetra = 20;
            break;
         }
         case 'K':
         {
            intLetra = 21;
            break;
         }
         case 'k':
         {
            intLetra = 22;
            break;
         }
         case 'L':
         {
            intLetra = 23;
            break;
         }
         case 'l':
         {
            intLetra = 24;
            break;
         }
         case 'M':
         {
            intLetra = 25;
            break;
         }
         case 'm':
         {
            intLetra = 26;
            break;
         }
         case 'N':
         {
            intLetra = 27;
            break;
         }
         case 'n':
         {
            intLetra = 28;
            break;
         }
         case 'O':
         {
            intLetra = 29;
            break;
         }
         case 'o':
         {
            intLetra = 30;
            break;
         }
         case 'P':
         {
            intLetra = 31;
            break;
         }
         case 'p':
         {
            intLetra = 32;
            break;
         }
         case 'Q':
         {
            intLetra = 33;
            break;
         }
         case 'q':
         {
            intLetra = 34;
            break;
         }
         case 'R':
         {
            intLetra = 35;
            break;
         }
         case 'r':
         {
            intLetra = 36;
            break;
         }
         case 'S':
         {
            intLetra = 37;
            break;
         }
         case 's':
         {
            intLetra = 38;
            break;
         }
         case 'T':
         {
            intLetra = 39;
            break;
         }
         case 't':
         {
            intLetra = 40;
            break;
         }
         case 'U':
         {
            intLetra = 41;
            break;
         }
         case 'u':
         {
            intLetra = 42;
            break;
         }
         case 'V':
         {
            intLetra = 43;
            break;
         }
         case 'v':
         {
            intLetra = 44;
            break;
         }
         case 'W':
         {
            intLetra = 45;
            break;
         }
         case 'w':
         {
            intLetra = 46;
            break;
         }
         case 'X':
         {
            intLetra = 47;
            break;
         }
         case 'x':
         {
            intLetra = 48;
            break;
         }
         case 'Y':
         {
            intLetra = 49;
            break;
         }
         case 'y':
         {
            intLetra = 50;
            break;
         }
         case 'Z':
         {
            intLetra = 51;
            break;
         }
         case 'z':
         {
            intLetra = 52;
            break;
         }
         
      } 
      return intLetra;
   } //Fim do método que recebe uma letra (char) e retorna o valor inteiro atribuído a mesma.
   
   public static char converteIntParaChar(int intLetra) //Método que recebe um valor inteiro e retorna a letra (char) atribuída ao mesmo.
   {
      char chrLetra = ' ';
   
      switch (intLetra)
      {
         case 1:
         {
            chrLetra = 'A';
            break;
         }
         case 2:
         {
            chrLetra = 'a';
            break;
         }
         case 3:
         {
            chrLetra = 'B';
            break;
         }
         case 4:
         {
            chrLetra = 'b';
            break;
         }
         case 5:
         {
            chrLetra = 'C';
            break;
         }
         case 6:
         {
            chrLetra = 'c';
            break;
         }
         case 7:
         {
            chrLetra = 'D';
            break;
         }
         case 8:
         {
            chrLetra = 'd';
            break;
         }
         case 9:
         {
            chrLetra = 'E';
            break;
         }
         case 10:
         {
            chrLetra = 'e';
            break;
         }
         case 11:
         {
            chrLetra = 'F';
            break;
         }
         case 12:
         {
            chrLetra = 'f';
            break;
         }
         case 13:
         {
            chrLetra = 'G';
            break;
         }
         case 14:
         {
            chrLetra = 'g';
            break;
         }
         case 15:
         {
            chrLetra = 'H';
            break;
         }
         case 16:
         {
            chrLetra = 'h';
            break;
         }
         case 17:
         {
            chrLetra = 'I';
            break;
         }
         case 18:
         {
            chrLetra = 'i';
            break;
         }
         case 19:
         {
            chrLetra = 'J';
            break;
         }
         case 20:
         {
            chrLetra = 'j';
            break;
         }
         case 21:
         {
            chrLetra = 'K';
            break;
         }
         case 22:
         {
            chrLetra = 'k';
            break;
         }
         case 23:
         {
            chrLetra = 'L';
            break;
         }
         case 24:
         {
            chrLetra = 'l';
            break;
         }
         case 25:
         {
            chrLetra = 'M';
            break;
         }
         case 26:
         {
            chrLetra = 'm';
            break;
         }
         case 27:
         {
            chrLetra = 'N';
            break;
         }
         case 28:
         {
            chrLetra = 'n';
            break;
         }
         case 29:
         {
            chrLetra = 'O';
            break;
         }
         case 30:
         {
            chrLetra = 'o';
            break;
         }
         case 31:
         {
            chrLetra = 'P';
            break;
         }
         case 32:
         {
            chrLetra = 'p';
            break;
         }
         case 33:
         {
            chrLetra = 'Q';
            break;
         }
         case 34:
         {
            chrLetra = 'q';
            break;
         }
         case 35:
         {
            chrLetra = 'R';
            break;
         }
         case 36:
         {
            chrLetra = 'r';
            break;
         }
         case 37:
         {
            chrLetra = 'S';
            break;
         }
         case 38:
         {
            chrLetra = 's';
            break;
         }
         case 39:
         {
            chrLetra = 'T';
            break;
         }
         case 40:
         {
            chrLetra = 't';
            break;
         }
         case 41:
         {
            chrLetra = 'U';
            break;
         }
         case 42:
         {
            chrLetra = 'u';
            break;
         }
         case 43:
         {
            chrLetra = 'V';
            break;
         }
         case 44:
         {
            chrLetra = 'v';
            break;
         }
         case 45:
         {
            chrLetra = 'W';
            break;
         }
         case 46:
         {
            chrLetra = 'w';
            break;
         }
         case 47:
         {
            chrLetra = 'X';
            break;
         }
         case 48:
         {
            chrLetra = 'x';
            break;
         }
         case 49:
         {
            chrLetra = 'Y';
            break;
         }
         case 50:
         {
            chrLetra = 'y';
            break;
         }
         case 51:
         {
            chrLetra = 'Z';
            break;
         }
         case 52:
         {
            chrLetra = 'z';
            break;
         }
      }
      return chrLetra;
   } //Fim do método que recebe um valor inteiro e retorna a letra (char) atribuída ao mesmo
}

Scripts recomendados

Algoritmo para Gerar um Sudoku NxN válido

Código para validar CPF e CNPJ otimizado

Ordenação de vetores com letras do alfabeto (atualizado)

Um classe que facilita a leitura de dados do teclahdo

Usando Enhanced For


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts