import java.util.Random; /** * Cette méthode génére une séquence de nombre aléatoires deux à deux distincts. * L'avantage de cette méthode utilitaire est le fait qu'elle génére des nombres * aléatoires distincts deux à deux d'une façon déterministe. * Elle évite le besoin de faire des boucles imbriquées pour teste si un tel entier * existe déja dans la séquence. * * Supposons qu'on fournit la valeur 5 comme paramètre à cette méthode, * alors celle-ci peut générée la séquence: [0, 4, 3, 1, 2]. * * @param n - Nombre total des éléments de la séquence à générer. * @ return - Retourne la séquence des nombres aléatoires générée. */ public static int[] randomize(int n) { int[] returnArray = null; if (n > 0) { returnArray = new int[n]; for (int index = 0; index < n; ++index) { returnArray[index] = index; } Random random = new Random(System.currentTimeMillis()); for (int index = 0; index < n; ++index) { int j = (int) (random.nextDouble() * (n - index) + index); int tmp = returnArray[index]; returnArray[index] = returnArray[j]; returnArray[j] = tmp; } } return returnArray; }
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.