Ordenação de vetores com letras do alfabeto
Publicado por Lennon Jesus 11/08/2006
[ Hits: 17.707 ]
Homepage: https://www.melhoresdiaristas.com.br
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.
/*
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
}
Gerador de números aleatórios em Java
Classe Java para a validação de CNPJ
Pesquisa Ternária em um vetor ordenado
Nenhum comentário foi encontrado.
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
Scripts ou binários [RESOLVIDO] (3)
VOL já não é mais como antes? (10)
Pergunta: Meu teclado não está respondendo direito como e consertar? ... (4)









