Java prb de debutant
kevinm3
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Je suis en train de m'initier a java, et j'ai tenté de créer un pb simple qui me permet de générer aléatoirement 5 numéros pour l'euromillion.
Je voudrais fignoler ce prog en admettant que si deux nombres sont identeiques lorsqu'ils sont générés la boucle recommence. voici mon code pour le moment
import java.util.Random;
public class prob {
/**
* @param args
*/
public static void main(String[] args) {
int num = 50;
int eto = 9;
long resultnum = (long) ((num * (num-1)* (num-2) * (num-3) * (num-4))/( 1*2*3*4*5));
long resulteto = (long) ((eto * (eto-1))/(1*2));
System.out.println("Le nombre de combinaisons Euromillion est: " +resultnum*resulteto);
Random r = new Random();
int Min = 0;
int Max = 50;
int v = Min + r.nextInt(Max - Min);
int w = Min + r.nextInt(Max - Min);
int x = Min + r.nextInt(Max - Min);
int y = Min + r.nextInt(Max - Min);
int z = Min + r.nextInt(Max - Min);
if (v == w || v==x || v==y || v==z || w==x || w==y || w==z || x==y || x==z || y==z );
System.out.println("1er : " +v );
System.out.println("2em : " +w );
System.out.println("3em : " +x );
System.out.println("4em : " +y );
System.out.println("5em : " +z );
}
}
voila c'est le if qui me pose probleme je sais pas comment faire recommencer lorsque j'ai 2 nombre identiques.
En basic j'y arrivais avec les calculatrices TI92 ect... avec le simple goto
Lbl debut
...............
if a = b
goto debut
Je suis en train de m'initier a java, et j'ai tenté de créer un pb simple qui me permet de générer aléatoirement 5 numéros pour l'euromillion.
Je voudrais fignoler ce prog en admettant que si deux nombres sont identeiques lorsqu'ils sont générés la boucle recommence. voici mon code pour le moment
import java.util.Random;
public class prob {
/**
* @param args
*/
public static void main(String[] args) {
int num = 50;
int eto = 9;
long resultnum = (long) ((num * (num-1)* (num-2) * (num-3) * (num-4))/( 1*2*3*4*5));
long resulteto = (long) ((eto * (eto-1))/(1*2));
System.out.println("Le nombre de combinaisons Euromillion est: " +resultnum*resulteto);
Random r = new Random();
int Min = 0;
int Max = 50;
int v = Min + r.nextInt(Max - Min);
int w = Min + r.nextInt(Max - Min);
int x = Min + r.nextInt(Max - Min);
int y = Min + r.nextInt(Max - Min);
int z = Min + r.nextInt(Max - Min);
if (v == w || v==x || v==y || v==z || w==x || w==y || w==z || x==y || x==z || y==z );
System.out.println("1er : " +v );
System.out.println("2em : " +w );
System.out.println("3em : " +x );
System.out.println("4em : " +y );
System.out.println("5em : " +z );
}
}
voila c'est le if qui me pose probleme je sais pas comment faire recommencer lorsque j'ai 2 nombre identiques.
En basic j'y arrivais avec les calculatrices TI92 ect... avec le simple goto
Lbl debut
...............
if a = b
goto debut
A voir également:
- Java prb de debutant
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
3 réponses
bonjour,
tu peux mettre le travail de génération des code dans une méthode.
ainsi il sera facile d'appeler la méthode.
tu peux mettre le travail de génération des code dans une méthode.
ainsi il sera facile d'appeler la méthode.
Salut,
La méthode suivante est à adapter au cas "Euromillion"
Elle est appelée depuis la méthode 'main':
Cordialement,
Dan
La méthode suivante est à adapter au cas "Euromillion"
public static void nombreAlea() { boolean encore = true; int[] tab = new int[5]; // est initialisé a 0 par défaut for (int i = 0; i <5; i++) // on l'initialise a -1 sinon le num. éventuel 0 serait un doublon tab[i] = -1; int i1 = 0; int i2 = 0; while(encore) { for (i1 = 0; i1 <5; i1++) { encore = false; // sera forcé true si doublon Random r = new Random(); int Min = 0; int Max = 50; int a = Min + r.nextInt(Max - Min); //trouvé for (i2 = 0; i2 <5; i2++) { if (a == tab[i2]) { encore = true; // supprimer en exploitation normale // >>>>>>>>>>>>>>> d'ici, System.out.println("Les num. deja obtenus:"); for (int i = 0; i <5; i++) { System.out.println(tab[i]); // pour controler deja trouvé } System.out.println("Le nouveau num. obtenu:\n" + a + " est un doublon, on ne le prend pas.(i2 = " + i2 + ")\n"); // >>>>>>>>>>>>>>> a ici i1--; break; } } if (encore == false) tab[i1] = a; else break; } } for (i1 = 0; i1 <5; i1++) { System.out.println("num. " + (i1 +1) + ": " + tab[i1]); } System.out.println(""); }
Elle est appelée depuis la méthode 'main':
public static void main(String args[]) { ..... ...... nombreAlea(); // Les appels suivants permettent d'obtenir des éventuels doublons // qui seront mis en évidence avant les suppréssions de lignes préconisées // dans la méthode 'nombreAlea()' // sont a supprimer en exploitation normale nombreAlea(); nombreAlea(); nombreAlea(); nombreAlea(); nombreAlea();
Cordialement,
Dan