J'ai une situation où l' return
déclaration imbriquée dans les deux for
boucles sera toujours atteint, en théorie.
Le compilateur n'est pas d'accord et nécessite un return
déclaration à l'extérieur de l' for
boucle. Je voudrais savoir d'une manière élégante d'optimiser cette méthode qui est au-delà de ma compréhension actuelle, et aucune de mes tentatives de mises en œuvre de casser l'impression de travailler.
Ci-joint une méthode à partir d'une affectation qui génère aléatoirement des nombres entiers et renvoie les itérations défilent jusqu'à ce qu'un deuxième nombre entier aléatoire est trouvé, générés à l'intérieur d'une fourchette passé dans la méthode comme un int en paramètre.
private static int oneRun(int range) {
int[] rInt = new int[range+1]; // Stores the past sequence of ints.
rInt[0] = generator.nextInt(range); // Inital random number.
for (int count = 1; count <= range; count++) { // Run until return.
rInt[count] = generator.nextInt(range); // Add randint to current iteration.
for (int i = 0; i < count; i++) { // Check for past occurence and return if found.
if (rInt[i] == rInt[count]) {
return count;
}
}
}
return 0; // Never reached
}