Probleme en java

Marc albert -  
Phortitou Messages postés 221 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Les 20 participants a un concours se sont vus attribues un numero compris entre 1 et 20, ecrivez un programme qui lit leur score (sur 100), le programme affiche leur resultat et indique le gagnant, encas d egalite il affiche tous les resultats.

public class Exe7_5bis{

public static java.util.Scanner scanner = new java.util.Scanner(System.in);

public static void main(String[] args) {

int resultat, best=Integer.MIN_VALUE;
String numGagnant="";
boolean egal=false;

for(int i=1; i<21;i++){

resultat=unEntierAuHasardEntre(0,100);
System.out.println(i+" "+resultat);
if(resultat>best){
best=resultat;
numGagnant=" "+i;
egal=false;
}
if(resultat==best){
numGagnant=numGagnant+" "+i;
egal=true;
}
}
if(egal==true)System.out.println("les gagnants en ex-eaquo sont les n° "+numGagnant+" avec un score de "+best);
else System.out.println("le gagnant est le N°"+numGagnant+" avec un score de "+best);

}

public static int unEntierAuHasardEntre (int valeurMinimale, int valeurMaximale){
double nombreRéel;
int résultat;

nombreRéel = Math.random();
résultat = (int) (nombreRéel * (valeurMaximale - valeurMinimale + 1))
+ valeurMinimale;
return résultat;
}
}


Je ne comprend pas pourquoi il affiche 2 fois le resultat du gagnant lorsqu'il est seul. Merci d'avance





il m'affiche:


les gagnants en ex-eaquo sont les n° 15 15 avec un score de 100
A voir également:

2 réponses

Utilisateur anonyme
 
Bonjour,

Il ne manque vraiment pas grand-chose pour que ce soit bon.

Eaxaminons la boucle:


for(int i=1; i<21;i++){

resultat=unEntierAuHasardEntre(0,100);
System.out.println(i+" "+resultat);
if(resultat>best){
best=resultat; // <<<< best est le meilleur score
numGagnant=" "+i;
egal=false; // <<<< egal est forcé false, que se passe t-il après ?
}
if(resultat==best){ // <<<< resultat = best
numGagnant=numGagnant+" "+i;
egal=true; // <<<< egal est forcé true. Que manque t-il à ton avis entre les 2 tests ?
}
}
0
Phortitou Messages postés 221 Date d'inscription   Statut Membre Dernière intervention   27
 
Danimo a raison, tu crées une variable boolean, mais tu l'utilises pas... Tu devrais ;)
0