java - जावा में यादृच्छिक संख्या प्राप्त करना




random prng (2)

import java.util.Random;

Random rand = new Random();

int  n = rand.nextInt(50) + 1;
//50 is the maximum and the 1 is our minimum 

संभावित डुप्लिकेट:
जावा: एक सीमा में यादृच्छिक संख्या उत्पन्न करना

मैं जावा में 1 से 50 के बीच यादृच्छिक मान प्राप्त करना चाहता हूं।

मैं Math.random(); की मदद से ऐसा कैसे कर सकता हूं Math.random(); ?

मैं उन मानों को कैसे बाध्य करूं जो Math.random () लौटाता है?


int max = 50;
int min = 1;

1. Math.random का उपयोग करना ()

double random = Math.random() * 49 + 1;
or
int random = (int )(Math.random() * 50 + 1);

यह आपको डबल या 1.0 (समावेशी) से 50.0 (अनन्य) के मामले में डबल के मामले में 1 से 50 तक का मूल्य देगा

क्यूं कर?

यादृच्छिक () विधि 0.0 और 0.9 के बीच एक यादृच्छिक संख्या देता है ..., आप इसे 50 से गुणा करते हैं, इसलिए ऊपरी सीमा 0.0 से 49.9 99 हो जाती है ... जब आप 1 जोड़ते हैं, तो यह 1.0 से 50.9 99 हो जाता है ..., अब जब आप छंटनी करते हैं int में, आपको 1 से 50 मिलता है। (टिप्पणियों में @rup के लिए धन्यवाद)। दोनों दृष्टिकोणों पर leepoint's भयानक लेखन-अप।

2. जावा में यादृच्छिक वर्ग का उपयोग करना।

Random rand = new Random(); 
int value = rand.nextInt(50); 

यह 0 से 49 तक का मूल्य देगा।

1 से 50 के लिए: rand.nextInt((max - min) + 1) + min;

कुछ जावा यादृच्छिक उत्कृष्टता का Source





prng