8
votes

Obtenir la date de date actuelle pour une graine de générateur de nombres aléatoires

de préférence aussi longtemps.

Tout l'exemple que je peux trouver obtient la date / l'heure comme une chaîne et non de la valeur scalaire. :)


0 commentaires

3 Réponses :


1
votes

System.Currenttimemillis retourne longtemps.

http: / /download.oracle.com/javase/1.5.0/docs/api/java/lang/system.html#CurrentTimemillis ()

Il y a aussi System.NanOTIME ().


0 commentaires

17
votes

Si vous vraiment veux que l'heure actuelle soit longue, essayez System.Currenttimemillis () . Vous pouvez également utiliser Nouvelle date (). Gettime () .

Cependant, en utilisant l'heure actuelle en tant que graine de générateur de nombres aléatoires, c'est un choix très médiocre (au moins, si vous utilisez les nombres aléatoires pour quelque chose d'important, tel que la cryptographie). Vous voudrez peut-être envisager d'utiliser une source aléatoire telle que / dev / urandom (si disponible sur votre plate-forme).


4 commentaires

Notez également que le générateur de nombres aléatoires Java standard, Java.UTIL.Random, par défaut initialise à System.CurrentTimeMemillis (), donc si c'est le générateur que vous utilisez, pas besoin de le faire explicitement.


La sécurité n'est certainement pas importante. Il suffit de commander quelques questions, ce qui soit jusqu'à ce que ce point soit fait par certaines constantes. : P


Java a Java.Security.seCurerandand, il n'est donc pas nécessaire d'utiliser / dev / urandom directement. télécharger.oracle.com/javase/6/docs/ API / Java / Security / ...


@WilliamPietri est ce documenté ou internes ?



0
votes

Pour générer un nombre aléatoire, vous pouvez utiliser ce code:

var randomnumber=new Date().getUTCMilliseconds();
var rand = Math.floor((Math.random() * randomnumber) + 1); 
document.write(rand);


0 commentaires