Pessoal, estou tentando fazer uma questão onde um vetor de 10 posições é preenchido aleatoriamente e depois é preciso coloca los em ordem crescente. Segue o código…
/*
83) [DESAFIO] Crie uma lógica que preencha um vetor de 20 posições com números
aleatórios (entre 0 e 99) gerados pelo computador. Logo em seguida, mostre os
números gerados e depois coloque o vetor em ordem crescente, mostrando no final
os valores ordenados.
*/
package listaguanabara;
import java.util.Random;
import java.util.Arrays;
/**
*
* @author Andre
*/
public class NewClassVetores83 {
public static void main(String[] args) {
Random in = new Random();
int vet[]= new int[10];
int i;
for( i=0; i<vet.length;i++){
System.out.print(in.nextInt(99) + " ");
}
System.out.println(" ");
Arrays.sort(vet);
System.out.print(vet[i] + " ");
}
}
Depois do laço for tentei coloca lo em ordem usando o Arrays.sort(vet[i])sem sucesso, tentei criar outro laço for para exibir o laço com a Arrays.sort(vet[i]) tambem sem resultado. Alguem poderia me ajudar?
Fiz conforme a sugestão usando 02 laços for e tirei o Arrays.sort mas ele continua sem ordenar. Segue o código …
public class NewClassVetores83 {
public static void main(String[] args) {
Random in = new Random();
int vet[]= new int[10];
int i;
int cont;
int aux;
for(i=0; i<vet.length;i++){
System.out.print(in.nextInt(99) + " ");
}
System.out.println(" ");
for(i=0;i<vet.length;i++){
for(cont=0; cont<vet.length -1;cont++){
if(vet[cont]>vet[cont+1]){
aux=vet[cont];
vet[cont]=vet[cont+1];
vet[cont+1]=aux;
}
}
}
for(i=0;i<vet.length;i++){
System.out.print(vet[i]+ " ");
}
}
}
Estou em dúvidas em relação a variável vet porque há uma variáve in gerando os números aleatórios da array.
Fazendo uma pesquisa vi um método da classe Arrays chamado toString() que que imprime a array; e utilizando o método Arrays.sort() o vetor é ordenado sem precisar usar o bubble sort . Funcionou , porém estou pesquisando o porque de não ter rodado utilizando o bubble sort .
Segue como ficou o código…
public class NewClassVetores83 {
public static void main(String[] args) {
int vet[]= new int[10];
int i;
int cont;
int aux;
for(i=0; i<vet.length;i++){
vet[i]= new Random().nextInt(99); // Gera números aleatórios
}
System.out.println(Arrays.toString(vet)); // Imprime o vetor sem laço
Arrays.sort(vet); // Ordena o vetor
System.out.println(Arrays.toString(vet)); // Vetor em ordem crescente
}
}