s_lannois
Messages postés3Date d'inscriptiondimanche 15 octobre 2006StatutMembreDernière intervention 9 février 2007
-
17 oct. 2006 à 20:52
cs_microstar
Messages postés1Date d'inscriptionjeudi 23 juin 2005StatutMembreDernière intervention19 novembre 2006
-
19 nov. 2006 à 17:32
Bonjour,
Je voudrais créer un petit programme qui calculerait la somme des nombres pairs compris entre deux nombres aléatoires compris entre 0 et 100. Mon problème est que je dois travailler avec des entiers or, la fonction Math.random() génère un nombre "double".
Ma question est donc la suivante : comment générer, en java, un nombre entier compris entre 0 et 100 ?
Merci d'avance,
Sébastien.
A voir également:
Nombre aléatoire java
Java nombre aléatoire entre 1 et 100 - Meilleures réponses
Nombre aléatoire entre 1 et 16 - Meilleures réponses
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023111 17 oct. 2006 à 20:59
Salut,
après un voyage dans le vaste et perilleu monde de la javadoc tu arais trouvé java.util.Random qui as les méthodes
nextInt
public int nextInt()
Returns the next pseudorandom, uniformly distributed
int
value from this random number generator's sequence. The general
contract of <tt>nextInt</tt> is that one <tt>int</tt> value is
pseudorandomly generated and returned. All 2<sup>32
</sup> possible <tt>int</tt> values are produced with
(approximately) equal probability. The method <tt>nextInt</tt> is
implemented by class <tt>Random</tt> as follows:
public int nextInt() { return next(32); }
<dd><dl> * Returns: : <dd>the next pseudorandom, uniformly distributed
int
value from this random number generator's sequence.
</dd></dl><hr /><!-- -->
nextInt
public int nextInt(int n)
Returns a pseudorandom, uniformly distributed <tt>int</tt> value
between 0 (inclusive) and the specified value (exclusive), drawn from
this random number generator's sequence. The general contract of
<tt>nextInt</tt> is that one <tt>int</tt> value in the specified range
is pseudorandomly generated and returned. All <tt>n</tt> possible
<tt>int</tt> values are produced with (approximately) equal
probability. The method <tt>nextInt(int n)</tt> is implemented by
class <tt>Random</tt> as follows:
public int nextInt(int n) {
if (n<=0)
throw new IllegalArgumentException(\"n must be positive\");
if ((n & -n) == n) // i.e., n is a power of 2
return (int)((n * (long)next(31)) >> 31);
int bits, val;
do {
bits = next(31);
val = bits % n;
} while(bits - val + (n-1) < 0);
return val;
}
The hedge \"approximately\" is used in the foregoing description only
because the next method is only approximately an unbiased source of
independently chosen bits. If it were a perfect source of randomly
chosen bits, then the algorithm shown would choose <tt>int</tt>
values from the stated range with perfect uniformity.
The algorithm is slightly tricky. It rejects values that would result
in an uneven distribution (due to the fact that 2^31 is not divisible
by n). The probability of a value being rejected depends on n. The
worst case is n=2^30+1, for which the probability of a reject is 1/2,
and the expected number of iterations before the loop terminates is 2.
The algorithm treats the case where n is a power of two specially: it
returns the correct number of high-order bits from the underlying
pseudo-random number generator. In the absence of special treatment,
the correct number of low-order bits would be returned. Linear
congruential pseudo-random number generators such as the one
implemented by this class are known to have short periods in the
sequence of values of their low-order bits. Thus, this special case
greatly increases the length of the sequence of values returned by
successive calls to this method if n is a small power of two.
<dd><dl> * Parameters: : <dd>
n
- the bound on the random number to be returned. Must be
positive.
* Returns: : a pseudorandom, uniformly distributed <tt>int</tt>
value between 0 (inclusive) and n (exclusive).
* Throws: : <dd>
IllegalArgumentException
- n is not positive. * Since: : <dd>1.2
</dd></dl>
------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."
Mais attention, toute traduction peut altéré le sens.
Par exemple, "Inversion of Control", "Inversion du Contrôle" que neni "Injection de dépendance". La traduction à juste faire perdre la notion fondamentale.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023111 19 oct. 2006 à 09:15
Salut,
Ouep j'ajouterai meme qu'il est mieux de prendre des cours d'anglais et de s'y mettre serieusement par ce que si l'on attend apres une traduction en FR d'une doc on peut resté bloqué tres tres tres longtemp.
Puis bon c'est pas la mort et en plus vu que developpement == anglais (sauf 1% des cas), il reste 2 choix :
1 on apprend l'anglais.
2 on arrete le dev.
------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."
indiana_jules
Messages postés750Date d'inscriptionmardi 9 mars 2004StatutMembreDernière intervention23 décembre 200822 19 oct. 2006 à 12:52
3 on anticipe en apprenant le mandarin qui sera dans 15 ans la langue officielle ;p
Non sérieusement, non seulement il est conseillé de trouver du code et des tutos en anglais, mais en plus il faut mettre ses noms de méthodes en anglais voire même (plus pénible) tout mettre en anglais (variables, commentaires ...)
Parce que à part faire du Windev ou du 4D (berk), tu trouveras aucun langague en français