Selection d'une clé au hasard et gestion du poids [débutant]
yobogs
Messages postés9Date d'inscriptionlundi 24 mars 2003StatutMembreDernière intervention10 juin 2007
-
16 mars 2005 à 18:28
yobogs
Messages postés9Date d'inscriptionlundi 24 mars 2003StatutMembreDernière intervention10 juin 2007
-
16 mars 2005 à 23:48
je suis à la recherche de l'aide pour un script qui me permettrait de selectionner une valeur aléatoire en prenant compte de son poids.
Je m'explique :
J'ai dans un fichier texte :
Valeur1||10
Valeur2||1
Valeur3||4
En suivant les poids des valeurs, la Valeur1 devrait sortir plus fréquement que la Valeur3 qui elle même sortira plus fréquement que la Valeur2.
D'après ce qu'on m'a dit, il faut que je fasses la somme de tous les poids et que tu tires un nombre entre zero et cette somme - 1.
Ensuite, attribuer a chaque valeur un interval correspondant a son poids :
de 0 à 9 : valeur 1
de 10 à 10 : valeur 2
de 11 à 14 : valeur 3
Pour la pratique c'est une autre paire de manche.
J'ai commencé par tenter de lire le fichier texte :
String nomFic = "fichier.txt";
FileReader fr = new FileReader(nomFic);
BufferedReader buf = new BufferedReader(fr);
String ligne;
ligne = buf.readLine();
while (ligne != null) {
StringTokenizer st = new StringTokenizer(ligne,"||");
while (st.hasMoreTokens()) {
// Décomposition Valeur et Poid (comment faire ???)
}
ligne = buf.readLine();
}
fr.close();
Mais après c'est le grand bleu, je nage completement
Qq'un pourrait-il me guider un peu pour avancer ?
D'avance Merci
A voir également:
Selection d'une clé au hasard et gestion du poids [débutant]
cs_phloam
Messages postés8Date d'inscriptionmercredi 16 mars 2005StatutMembreDernière intervention20 décembre 2005 16 mars 2005 à 19:58
je sais pas si ca peut t'aider
j'ai peut etre pas tres bien compris la question...
mais si tu creer une variable disons int rand= Math.round(14*Math.random()); ca te donnera une valeur au hasard entre 1 et 14 non'et apres tu n'as plus qu'a effectuer
tes actions en fonction de cette variable
http://membres.lycos.fr/vinsou81