Comment créer un hasard 16 chiffres nombre, avec des premiers chiffres?
Je veux créer un générés aléatoirement à 16 chiffres en java.Mais il ya un hic, j'ai besoin que les deux premiers chiffres pour être "52". Par exemple, 5289-7894-2435-1967.
Je pensais à l'aide d'un générateur aléatoire et de créer un 14 chiffres, puis ajouter un entier 5200 0000 0000 0000.
J'ai essayé de regarder pour des problèmes similaires et ne peut pas vraiment trouver quelque chose d'utile. Je ne suis pas familier avec les mathématiques de la méthode,peut-être qu'il pourrait résoudre le problème pour moi.
Générer des (pseudo)de nombres aléatoires. Préfixe avec '52'?
Une recherche sur google. Le reste devrait être facile avec ce. stackoverflow.com/questions/3709521/...
Oui,j'ai fait que la pensée en tant que bien, mais je ne sais pas comment le faire. C'était mon problème pour commencer.
Vous devriez probablement vous regardez ces deux-là : stackoverflow.com/questions/4655931/... stackoverflow.com/questions/5328822/...
Votre idée, au hasard de créer un nombre à 14 chiffres, puis ajouter 5200000000000000 (ou la convertir en une chaîne de caractères et la faire précéder de
Une recherche sur google. Le reste devrait être facile avec ce. stackoverflow.com/questions/3709521/...
Oui,j'ai fait que la pensée en tant que bien, mais je ne sais pas comment le faire. C'était mon problème pour commencer.
Vous devriez probablement vous regardez ces deux-là : stackoverflow.com/questions/4655931/... stackoverflow.com/questions/5328822/...
Votre idée, au hasard de créer un nombre à 14 chiffres, puis ajouter 5200000000000000 (ou la convertir en une chaîne de caractères et la faire précéder de
"52"
) fait sens. Ne vous vous souciez de savoir si tous les 14 chiffres pourraient être générés, ou est-il acceptable si votre générateur de nombre aléatoire en manque de possibilités? Ne vous vous souciez de façon uniforme la distribution est?OriginalL'auteur Marios Ath | 2015-01-08
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, vous avez besoin de générer de façon aléatoire un nombre à 14 chiffres, comme vous l'avez fait:
Ensuite, vous ajoutez les
52
au début.Un autre moyen qui pourrait fonctionner tout aussi bien, et vous permettra d'économiser de la mémoire, depuis
Math.random()
crée en son sein unRandom
objet:Noter que
nextLong() % n
ne sera pas parfaitement aléatoire de la distribution, à la différence deMath.random()
. Toutefois, si vous êtes juste de génération de données de test et il n'a pas à être cryptographique sécurisé, il fonctionne aussi bien. C'est à vous d'en choisir un.OriginalL'auteur Nic Hartley
OriginalL'auteur weston
Vous pouvez générer 14 chiffres aléatoires, puis ajoutez au début "52". E. g.
52
en ajoutant5200000000000000
(plus ou moins quelques zéros) pour lax
, si vous ne voulez pas utiliserString
processus pour ajouter des numéros. Il se sent plus propre à moi.En fait, le code que vous avez posté, qui utilise le
String
pour ajouter un préfixe, qui est mal. Ce sera un échec six
est à moins de 10^13. Vous auriez besoin de quelque chose commeString.format("%014d", x)
.Merci à jour
Sont les chiffres de
(long)(rand.nextDouble()*100000000000000L)
distribuée de manière uniforme? Serait probablement mieux d'utiliser ceci: stackoverflow.com/a/2546186/1178016OriginalL'auteur sol4me
Math.random
String
.Integer.parseInt(String)
méthodeRandom.nextLong()
ne vous permet pas de spécifier une limite, contrairement àRandom.nextInt(bound)
.il y a beaucoup d'exemples pour que... je pense est assez pour commencer à tester...
OriginalL'auteur Jordi Castilla