CodeGym /Java Blog /यादृच्छिक /Java.util.यादृच्छिक वर्ग
John Squirrels
पातळी 41
San Francisco

Java.util.यादृच्छिक वर्ग

यादृच्छिक या ग्रुपमध्ये प्रकाशित केले

Java मध्ये java.util.Random क्लास म्हणजे काय?

java.util.Random क्लास स्युडोरॅंडम क्रमांक तयार करण्यासाठी वापरला जातो. या वर्गाद्वारे अंमलात आणलेल्या पद्धतींचा वापर इंट, डबल आणि फ्लोट सारखे भिन्न यादृच्छिक डेटा प्रकार तयार करण्यासाठी केला जातो. त्यामुळे यादृच्छिक संख्यांचे दोन प्रमुख प्रकार आहेत, सांख्यिकीय यादृच्छिक आणि स्यूडोरँडम संख्या . सांख्यिकीयदृष्ट्या यादृच्छिक संख्या (गणितातील साध्या यादृच्छिक संख्यांप्रमाणे), मूल्यांचा एक संच आहे ज्यांना ओळखण्यायोग्य नमुना नाही. उदाहरणार्थ, 10 वेळा फासे फिरवल्याने प्रत्येक वेळी एक यादृच्छिक संख्या तयार होईल ज्यामध्ये कोणताही ओळखण्यायोग्य नमुना नसेल.

स्यूडो यादृच्छिक संख्या काय आहेत?

हा मूल्यांचा संच आहे जो सांख्यिकीयदृष्ट्या यादृच्छिक आहे परंतु ज्ञात प्रारंभ बिंदू आहे . जावामध्ये, प्रत्येक छद्म यादृच्छिक संख्या अल्गोरिदमद्वारे तयार केली जाते. त्यामुळे सामान्यत: प्रत्येक वेळी java.util.Random एक यादृच्छिक संख्या निर्माण करतेवेळी सायकलची पुनरावृत्ती होते . Java मधील यादृच्छिक क्रमांक जनरेटर सांख्यिकीयदृष्ट्या यादृच्छिक संख्या तयार करेल परंतु अल्गोरिदमद्वारे व्युत्पन्न केलेल्या ज्ञात प्रारंभ बिंदूसह. त्यामुळे ती मूल्ये स्यूडोरंडम बनतात.

java.util.Random वर्ग क्रिप्टोग्राफिकदृष्ट्या असुरक्षित आहे का?

हे क्रिप्टोग्राफिकदृष्ट्या असुरक्षित आहे कारण त्यात यादृच्छिक संख्या तयार करण्यासाठी अल्गोरिदम लागू केले आहेत. परिणामी अल्गोरिदम कसे कार्य करते हे माहीत असलेल्या व्यक्तीला तुमच्या संवेदनशील डेटामध्ये प्रवेश करण्यास जास्त वेळ लागणार नाही. त्यामुळे जर तुम्ही काही सुरक्षितता ऍप्लिकेशन्ससह काम करत असाल, काही संवेदनशील डेटा सुरक्षित करण्यासाठी आवश्यक असेल किंवा यादृच्छिक पासवर्ड तयार करण्याची आवश्यकता असेल तर हा वर्ग वापरणे टाळणे चांगले आहे. लुडो, जुगार, सामन्यासाठी नाणेफेक करणे किंवा तुमचा इच्छित परिणाम अप्रत्याशित असलेल्या इतर क्षेत्रांमध्ये यादृच्छिक क्रमांक तयार करणे यासारख्या अनेक प्रकरणांमध्ये हे उपयुक्त आहे.

पद्धत घोषणा

या वर्गाच्या पद्धती वापरण्यासाठी तुम्हाला ते प्रथम पॅकेजमधून आयात करावे लागेल

import java.util.Random;
आयात केल्यानंतर, तुम्हाला या वर्गाचा एक ऑब्जेक्ट तयार करणे आवश्यक आहे जसे

Random randomNumbers = new Random();
पुढे जाऊन, java.util.Random क्लास वापरण्यासाठी विविध उदाहरणे पाहू .

उदाहरण


import java.util.Random;

public class RandomClassExample1 {

	public static void main(String[] args) {

		// create random object
		Random randomNumbers = new Random();
		
		System.out.println("----------Random Boolean---------" );
		/*
		 * Returns the next pseudo random boolean value which 
		 * may be used in a toss for a match
		 */
		boolean value = randomNumbers.nextBoolean();
		System.out.println("The random boolean value is: " + value);
		
		/*
		 * Returns the next pseudo random integer value between 0 and 5  
		 * because if we use '6' then, it will give random numbers from 0 to 6 
		 * hence incrementing it by 1 you can use it as a result of a dice roll
		 */
		System.out.println("\n----------Random Integer---------" );
		System.out.println("Die Roll: " + (randomNumbers.nextInt(6)+1) );
		System.out.println("Die Roll: " + (randomNumbers.nextInt(6)+1) );
		System.out.println("Die Roll: " + (randomNumbers.nextInt(6)+1) );
		System.out.println("Die Roll: " + (randomNumbers.nextInt(6)+1) );
		System.out.println("Die Roll: " + (randomNumbers.nextInt(6)+1) );
		
		// return the next pseudo random long value
		Long val = randomNumbers.nextLong();
		System.out.println("\n----------Random Long---------" );
		System.out.println("Random Long value: " + val);
		
		/*
		 * Generates random bytes and puts them in an array, which you can for some
		 * desired unpredictable result that is summing all the values in the array
		 */
		
		System.out.println("\n----------Random Bytes---------" );
		byte[] bytes = new byte[8];
		randomNumbers.nextBytes(bytes);
		
		System.out.print("These are the random bytes = [ ");
		for (int i = 0; i < bytes.length; i++) {
			System.out.printf("%d ", bytes[i]);
		}
		System.out.println("]");
	}

}

आउटपुट

----------यादृच्छिक बुलियन--------- यादृच्छिक बुलियन मूल्य आहे: सत्य ----------यादृच्छिक पूर्णांक--------- डाय रोल: 4 डाय रोल: 6 डाय रोल: 1 डाय रोल: 1 डाय रोल: 3 ---------- यादृच्छिक लांब--------- यादृच्छिक लांब मूल्य: -6029959293504570824 ---- ------ यादृच्छिक बाइट्स--------- हे यादृच्छिक बाइट्स आहेत = [ -37 90 -98 -70 23 -111 19 108 ]

पद्धती

आता आपण या वर्गाने दिलेल्या काही पद्धतींबद्दल चर्चा करू, हे लक्षात ठेवून की randomNumbers ही आपल्या वर्गाची वस्तू किंवा उदाहरण आहे.
  1. दुप्पट() :

    ही पद्धत छद्म यादृच्छिकपणे व्युत्पन्न केलेल्या दुहेरी मूल्यांची अनंत मालिका देते. आता ही पद्धत कशी वापरायची ते पाहू.

    
    randomNumbers.doubles();
    
  2. ints() :

    ही पद्धत छद्म यादृच्छिकपणे व्युत्पन्न पूर्णांक मूल्यांची अनंत मालिका देते. ही पद्धत कॉल करण्यासाठी तुम्ही खालील स्क्रिप्ट वापरू शकता.

    
    randomNumbers.ints();
    
  3. longs() :

    ही पद्धत छद्म यादृच्छिकपणे व्युत्पन्न केलेल्या दीर्घ मूल्यांची अनंत मालिका देते. या पद्धतीला कॉल करण्यासाठी खालील स्क्रिप्ट वापरली जाते.

    
    randomNumbers.longs();
    
  4. nextBoolan() :

    ही पद्धत यादृच्छिक संख्या जनरेटर अनुक्रमातून पुढील एकसमान वितरित स्यूडोरॅंडम बुलियन मूल्य परत करते. एकसमान वितरण आयताकृती-आकाराचे असते, म्हणजे वितरणातील प्रत्येक मूल्याची समान संभाव्यता असते. ही पद्धत कशी वापरायची ते येथे आहे.

    
    randomNumbers.nextBoolean();
    
  5. nextInt(int n) :

    ही पद्धत 0 समावेशी आणि प्रदान केलेल्या अनन्य मूल्यामधील यादृच्छिक संख्या जनरेटर अनुक्रमातून पुढील समान रीतीने वितरित केलेले स्यूडोरँडम पूर्णांक मूल्य परत करते. ही पद्धत कशी वापरायची याचे द्रुत दृश्य पहा.

    
    randomNumbers.nextInt(10);
    

निष्कर्ष

आम्‍हाला आशा आहे की तुम्‍हाला java.util.Random काय आहे आणि त्‍याच्‍या विविध पद्धती कशा अंमलात आणायच्या आणि कोणत्या परिस्थितीत वापरायच्या हे समजले असेल. तुम्ही हा वर्ग जावा मध्ये नेहमी वापरू शकता. सराव करण्यास मोकळ्या मनाने आणि जेव्हा तुम्हाला अधिक मदतीची आवश्यकता असेल तेव्हा येथे परत या. आनंदी शिक्षण!
टिप्पण्या
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION