Array aleatorio

4 respostas
fabiodurgante

fiz o seguinte

public static void main( String args[] )   
        {   
        int[] intArray = new int[] {0,1,2,3,4,5,6,7,8,9};
        
        
 Arrays.sort(intArray);
 
 for(int i=0; i<=9;i++){       
 System.out.println(intArray[i]);
}

so que nao fica aleatorio alguem ajuda ai!!!!!

4 Respostas

fabiodurgante

bah fiz o seguinte aqui

List<Integer> sl = new ArrayList<Integer>();  
 
   for(int i=0;i<=9;i++){
       sl.add(i);
   }

  for(Integer s: sl){
   System.out.println(s); 
  }
  
  
  Collections.shuffle(sl); 
  
  for(Integer s: sl){
   System.out.println(s); 
}

ai funciona beleza mas teria um meio mais facil de fazer isso ???

Lavieri

deve ter 1 solução mais inteligente... porem... essa funciona

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Random;

public class Temp {
	public static void main(String ... args) {
		Integer[] intArray = new Integer[] {0,1,2,3,4,5,6,7,8,9}; //sua matriz orinal
		//os couchetes é para o coletor de lixu java recolher as partes temporarias ^^
		{//sim eu sei, criar outro método seria + elegante ^^
			List<Integer> list = 
				new ArrayList<Integer>(Arrays.asList(intArray)); //uma lista temporaria
			Random random = new Random(); //um objeto para sortear números.
			//Percorre a lista, sorteando os itens que esta nela
			for (int i = 0 ; i< intArray.length; i++)
				//remove o item que foi sorteado e o coloca na matriz
				intArray[i] = list.remove(random.nextInt(list.size())); 
		}
		//imprime a matriz
		for(int i=0; i< intArray.length; i++)         
			System.out.println(intArray[i]);  
	}
}
fabiodurgante

valeu cara pela ajuda ai!!!

Lavieri

mais eu achei seu modo mais elegante ^^

mais da pra resumir assim

Integer[] intArray = new Integer[] {0,1,2,3,4,5,6,7,8,9}; //sua matriz orinal List<Integer> sl = Arrays.asList(intArray); Collections.shuffle(sl); for(Integer s: sl){ System.out.println(s); }

se quiser transformar em matriz novamente, (Integer[])sl.toArray();

Criado 31 de janeiro de 2009
Ultima resposta 31 de jan. de 2009
Respostas 4
Participantes 2