Voici donc une des choses les plus simples qu'on pourrait faire:java.util.Random particularité
Random rng = new Random();
int a = rng.nextInt(10);
int b = rng.nextInt(10);
Jusqu'à présent, si bon. Mais nous voulons éviter d'avoir égale a et b, si naturellement nous:
Random rng = new Random();
int a = rng.nextInt(10);
int b = rng.nextInt(10);
while (a == b){
b = rng.nextInt(10);
}
Cependant - à mon très très très grande surprise - la boucle while jamais de sorties. Jamais.
Je comprends que, en théorie, avec des nombres aléatoires, pourrait avoir une séquence infinie d'un nombre. Mais j'ai eu ce code courant pendant 10 minutes maintenant et il n'a pas quitté la boucle.
Quoi de neuf? Je cours JDK 6 Update 16 sur le dernier Linux Mint.
Bizarre. Avez-vous essayé d'initialiser Random avec une graine? Aléatoire r = nouveau Aléatoire (19580427); –
Fonctionne comme prévu pour moi. Java 1.6 u17. Publiez une classe complète, y compris les importations, qui reproduit le problème. – erickson
Que basiacally est le code complet. Il retourne juste a et b en tant que tableau char après cela. La seule chose qui pourrait causer cela pourrait être que la méthode est statique. Attends, je vais essayer. –