× Aidez la recherche contre le COVID-19 avec votre ordi ! Rejoignez l'équipe PC Astuces Folding@home
 > Tous les forums > Forum Autres langages
 [java] Simplification code
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
BxG
  Posté le 12/12/2008 @ 23:10 
Aller en bas de la page 
Astucien

Bonsoir a tous,

Alors voila je souhaite avoir des valeurs différente entre 1 et 8, voici mon code:

int a = (int) (Math.random() * 8 + 1);
int b;
int c;
int d;
int e;
int f;
int g;
int h;

do{ b = (int) (Math.random() * 8 + 1); }while(a == b);
do{ c = (int) (Math.random() * 8 + 1); }while(c == a || c == b);
do{ d = (int) (Math.random() * 8 + 1); }while(d == a || d == b || d == c);
do{ e = (int) (Math.random() * 8 + 1); }while(e == a || e == b || e == c || e == d);
do{ f = (int) (Math.random() * 8 + 1); }while(f == a || f == b || f == c || f == d || f == e);
do{ g = (int) (Math.random() * 8 + 1); }while(g == a || g == b || g == c || g == d || g == e || g == f);
do{ h = (int) (Math.random() * 8 + 1); }while(h == a || h == b || h == c || h == d || h == e || h == f || h ==g);

Je ne sais pas comment faire pour le simplifier, si vous avez une idée

Merci d'avance

Publicité
fennec.
 Posté le 16/12/2008 à 13:49 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour,

si je comprend bien tu dois avoir 8 nombres compris entre 1 et 8

int [] nbr = new int [8];

for (int i=0;i<7;i++)

nbr[i] = (int) (Math.random() * 8 + 1);

va voir ce site

http://java.developpez.com/cours/

si tu ne le connais pas, tu trouvera beaucoup de chose pour bien débuter en java

bonne lecture



Modifié par fennec. le 16/12/2008 13:52
BxG
 Posté le 17/12/2008 à 08:13 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Euh oui je dois avoir 8 nombre compris entre 1 et 8 mais tous différents, d'ou ce code un peu chargé :

do{ b = (int) (Math.random() * 8 + 1); }while(a == b);
do{ c = (int) (Math.random() * 8 + 1); }while(c == a || c == b);
do{ d = (int) (Math.random() * 8 + 1); }while(d == a || d == b || d == c);
do{ e = (int) (Math.random() * 8 + 1); }while(e == a || e == b || e == c || e == d);
do{ f = (int) (Math.random() * 8 + 1); }while(f == a || f == b || f == c || f == d || f == e);
do{ g = (int) (Math.random() * 8 + 1); }while(g == a || g == b || g == c || g == d || g == e || g == f);
do{ h = (int) (Math.random() * 8 + 1); }while(h == a || h == b || h == c || h == d || h == e || h == f || h ==g);

fennec.
 Posté le 17/12/2008 à 13:10 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour,

pour les avoir tous différent

a chaque fois que ton random te donne un nombre tu doi faire une boucle

sur ton tableau (du moins tous ce qui a déjà été rempli) et refaire un random

si le nombre a déjà été pris



Modifié par fennec. le 17/12/2008 13:12
Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Les bons plans du moment PC Astuces

Tous les Bons Plans
58,99 €Kit de 16 Go (2 x 8 Go) de mémoire DDR4 Crucial Ballistix 3000 MHz à 58,99 €
Valable jusqu'au 20 Octobre

Amazon fait une promotion sur le kit de 16 Go (2x8 Go) de mémoire DDR4 Crucial Ballistix 3000 MT/s CL15 qui passe à 58,99 € livré gratuitement alors qu'on le trouve ailleurs à partir de 82 €.


> Voir l'offre
29,99 €SSD Kingston A400 240 Go à 29,99 €
Valable jusqu'au 23 Octobre

Amazon fait une promotion sur le SSD Kingston A400 240 Go qui passe à 29,99 € livré gratuitement alors qu'on le trouve autour de 35 € ailleurs. Il offre des débits de 450 Mo/s en écriture et 500Mo/s en lecture.


> Voir l'offre
329,90 €Ecran ultra large LG 34 pouces 34WL50S-B à 329,90 €
Valable jusqu'au 23 Octobre

Amazon propose actuellement l'écran 34 pouces LG 34WL50S-B à 329,90 € livré gratuitement alors qu'on le trouve à partir de 400 € ailleurs. Cet écran ultra large est au format 21/9, possède une dalle IPS et offre une résolution de 2560 x 1080 pixels. Avec lui, vous pourrez bénéficier d'une plus grande immersion dans les jeux et les films. Cet écran est compatible FreeSync.


> Voir l'offre

Sujets relatifs
parametrage du code java pour imprimer
Requete SQL ou code java
Classer une arraylist (java)
Ameliorer le Main "Java" avec les fonctions & procédures
Rafraichir un tableau en java
Calcul du jour d'après - - > java
encore java
Filter un fichier CSV en Java
java error
java 9
Plus de sujets relatifs à [java] Simplification code
 > Tous les forums > Forum Autres langages