Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1750 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  random double

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

random double

n°962830
mondo
Posté le 26-01-2005 à 15:15:34  profilanswer
 

voici mon problème...
 
j'aimerai générer une liste aléatoire de chiffre à virgule flottante...
 
voici ce que j'ai pour des entiers:
 
 Random rand = new Random();
 i = rand.nextInt(10);
 
quelle est la solution pour générer par exemple 2,5 ou autre chiffres à virgule flottante...
 
je débute mais je persévère.. :sweat:
a+ et merci


---------------
La droite est nulle, la gauche est nulle... je vote nul
mood
Publicité
Posté le 26-01-2005 à 15:15:34  profilanswer
 

n°962835
Mara's dad
Yes I can !
Posté le 26-01-2005 à 15:24:47  profilanswer
 

nextDouble() : 0.0 -> 1.0
nextDouble() * 10 : 0.0 -> 10.0
...


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°962849
mondo
Posté le 26-01-2005 à 15:39:29  profilanswer
 

Merci bien père de mara
 
un autre problème survient néanmoins, je m'explique:
 
lorsque j'exécute ce programme:
 

Code :
  1. import java.io.*;
  2. import java.util.*;
  3. public class Exercice38
  4. {
  5. public static void main(String[] args) throws IOException
  6. {
  7.  BufferedReader in = new BufferedReader(new InputStreamReader(System.in)) ;
  8.  // variables
  9.  double poidsPrise;
  10.  double pecheTotaleJour;
  11.  double limitePecheJour;
  12.  System.out.println("Entrez la limite journalière de pêche en kg?" );
  13.  limitePecheJour = Double.parseDouble(in.readLine());
  14.  pecheTotaleJour = 0;
  15.  do
  16.   {
  17.    Random rand = new Random();
  18.    poidsPrise = rand.nextDouble() * 10;
  19.    pecheTotaleJour = pecheTotaleJour + poidsPrise;
  20.    System.out.println(poidsPrise);
  21.    System.out.println(pecheTotaleJour);
  22.   }
  23.  while (pecheTotaleJour < limitePecheJour);
  24. }
  25. }


 
le random me génère de nombres (même à virgule flottante) similaires dans disons 30% à 50% des cas. est-ce du à une vitesse de calcul ou il y a-t'il une solution??


---------------
La droite est nulle, la gauche est nulle... je vote nul
n°962856
the real m​oins moins
Posté le 26-01-2005 à 15:51:41  profilanswer
 

dans les 3 semaines précédentes, y'a eu au moins 2 topics sur le random en java, merci d'y jeter un oeil.


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°962858
Mara's dad
Yes I can !
Posté le 26-01-2005 à 15:53:47  profilanswer
 

Fais un seul new Random(), là tu repart du début à chaque fois...


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°962876
mondo
Posté le 26-01-2005 à 16:12:26  profilanswer
 

Daddy,
 
mon ignorance me couvre de honte mais je vais jouer la carte de l'humilité.
 
donc voici une nouvelle version de mon code.

Code :
  1. import javax.swing.*;
  2. import java.io.*;
  3. import java.util.*;
  4. public class Exercice38
  5. {
  6. public static void main(String[] args) throws IOException
  7. {
  8.  BufferedReader in = new BufferedReader(new InputStreamReader(System.in)) ;
  9.  // variables
  10.  double poidsPrise;
  11.  double pecheTotaleJour;
  12.  double limitePecheJour;
  13.  System.out.println("Entrez la limite journalière de pêche en kg?" );
  14.  limitePecheJour = Double.parseDouble(in.readLine());
  15.  pecheTotaleJour = 0;
  16.  do
  17.   {
  18.    Random rand = new Random();
  19.    poidsPrise = rand.nextDouble() * 10; // je considère que les poissons ne pèsent pas plus de 10 kg
  20.    poidsPrise = Math.floor(poidsPrise*100)/100; // j'arrondis à 3 chiffres après la virgule
  21.    System.out.println(poidsPrise);
  22.    pecheTotaleJour = pecheTotaleJour + poidsPrise;
  23.    pecheTotaleJour = Math.floor(pecheTotaleJour*100)/100; // arrondi
  24.    System.out.println(pecheTotaleJour + " till now" );
  25.    if (pecheTotaleJour > limitePecheJour)
  26.     System.out.println("Vous avez depasse la limite journaliere de peche" );
  27.   }
  28.  while (pecheTotaleJour < limitePecheJour);
  29. }
  30. }


 
ma nieme question est : comment faire un seul random s'il se trouve dans la boucle? :sweat: :sweat: :sweat: :sweat: :sweat:


---------------
La droite est nulle, la gauche est nulle... je vote nul
n°962880
Bidem
Posté le 26-01-2005 à 16:15:00  profilanswer
 

Faire le new Random() en dehors de la boucle ...

n°962881
Mara's dad
Yes I can !
Posté le 26-01-2005 à 16:15:07  profilanswer
 

Code :
  1. import javax.swing.*;
  2. import java.io.*;
  3. import java.util.*;
  4. public class Exercice38
  5. {
  6. public static void main(String[] args) throws IOException
  7. {
  8.  BufferedReader in = new BufferedReader(new InputStreamReader(System.in)) ;
  9.  // variables
  10.  double poidsPrise;
  11.  double pecheTotaleJour;
  12.  double limitePecheJour;
  13.  Random rand = new Random();
  14.  System.out.println("Entrez la limite journalière de pêche en kg?" );
  15.  limitePecheJour = Double.parseDouble(in.readLine());
  16.  pecheTotaleJour = 0;
  17.  do
  18.   {
  19.    poidsPrise = rand.nextDouble() * 10; // je considère que les poissons ne pèsent pas plus de 10 kg
  20.    poidsPrise = Math.floor(poidsPrise*100)/100; // j'arrondis à 3 chiffres après la virgule
  21.    System.out.println(poidsPrise);
  22.    pecheTotaleJour = pecheTotaleJour + poidsPrise;
  23.    pecheTotaleJour = Math.floor(pecheTotaleJour*100)/100; // arrondi
  24.    System.out.println(pecheTotaleJour + " till now" );
  25.    if (pecheTotaleJour > limitePecheJour)
  26.     System.out.println("Vous avez depasse la limite journaliere de peche" );
  27.   }
  28.  while (pecheTotaleJour < limitePecheJour);
  29. }
  30. }


 
Ne pas le mettre DANS la boucle...


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°962897
mondo
Posté le 26-01-2005 à 16:32:23  profilanswer
 

:sweat:
 
merci beaucoup
 
:sweat:
 
ça vient, ça vient :)


---------------
La droite est nulle, la gauche est nulle... je vote nul
n°962903
the real m​oins moins
Posté le 26-01-2005 à 16:39:13  profilanswer
 

the real moins moins a écrit :

dans les 3 semaines précédentes, y'a eu au moins 2 topics sur le random en java, où les memes questions ont été posées, merci d'y jeter un oeil.



---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  random double

 

Sujets relatifs
pointer_to_unary_function, random_shuffle & gcc 3.3[Java] java.util.Random pas si random que ça :(
[PHP][SQL]Double insertion et récuperation de champ[C] Convertion double -> dec -> hex
random_suffle?Tableau a double entrée
[C++] random_shuffle donne toujours les memes combinaisons...[C++] random_shuffle ne randomize pas
[java] un random avec une valeur inttableau a double entrée en pascal
Plus de sujets relatifs à : random double


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR