Pessoal, sou novato em java então já deixo meu pedido de desculpas pelo código rudimentar, ainda estou no começo da faculdade =P
É bem simples, estou tentando fazer um código que preencha um vetor String aleatoriamente e depois organize ele ( de “B,C,A,E,D,F” para “A,B,C,D,E,F”, por exemplo…), então bolei uma gambiarra com Random para preencher o vetor com letras, mas por algum motivo, quando o vetor é preenchido com o Random, a ordenação não funciona, quando eu preencho manualmente o vetor, a ordenação funciona, aparentemente ele não esta entrando no If que faz a ordenação.
Segue o código preenchido manualmente, este funciona :
public static void main(String[] args) {
// TODO Auto-generated method stub
String vet[]={"L","F","H","E","F","D","B","Z","A"};
String maior=" ";
//ordenacao
for(int inicio=0;inicio<vet.length;inicio++)
{
for(int fim=inicio+1;fim<vet.length;fim++)
{
if((int)vet[inicio].charAt(0)>(int)vet[fim].charAt(0))
{
maior=vet[inicio];
vet[inicio]=vet[fim];
vet[fim]=maior;
}
}
}
//verificacar ordenacao
for(int cel=0;cel<vet.length;cel++)
{
System.out.println(vet[cel]+" verificacao final");
}
}
Segue o código Random, não funciona a ordenação -
public static void main(String[] args) {
// TODO Auto-generated method stub
String []vet=new String[20];
String letras="QWERTYUIOPASDFGHJKLÇZXCVBNM",saux=" ",maior=" ";
int tam=1,aux1=0;
//preenchimento do vetor
Random gerador=new Random();
for(int cel=0;cel<vet.length;cel++,saux=" ")
{
for(int cel2=0;cel2<tam;cel2++)
{
aux1=gerador.nextInt(27);
if(aux1==0)
{
aux1++;
}
saux+=letras.substring((aux1-1),aux1);
}
vet[cel]=saux;
}
//verificacao de preenchimento
for(int cel=0;cel<vet.length;cel++)
{
System.out.println(vet[cel]+" verificacao");
}
//ordenacao
for(int inicio=0;inicio<vet.length-1;inicio++)
{
System.out.println("for1");
for(int fim=inicio+1;fim<vet.length;fim++)
{
System.out.println("for2");
if((int)vet[inicio].charAt(0)>(int)vet[fim].charAt(0))
{
System.out.println("if");
maior=vet[inicio];
vet[inicio]=vet[fim];
vet[fim]=maior;
}
}
}
//verificaçar ordenaçao
for(int cel=0;cel<vet.length;cel++)
{
System.out.println(vet[cel]+" verificacao final");
}
}
OBS : esse monte de system.out… é para eu ver onde ta dando problema ^^
Gostaria que me ajudassem a saber o por que dessa ordenação não esta funcionando, meu conhecimento ainda é limitado então não faço ideia. Abraço!