CodeGym /Java Blog /சீரற்ற /Java.util.Random class
John Squirrels
நிலை 41
San Francisco

Java.util.Random class

சீரற்ற குழுவில் வெளியிடப்பட்டது

ஜாவாவில் java.util.Random class என்றால் என்ன?

போலி எண்களை உருவாக்க java.util.Random வகுப்பு பயன்படுத்தப்படுகிறது. இந்த வகுப்பினால் செயல்படுத்தப்படும் முறைகள், int, double, float போன்ற பல்வேறு சீரற்ற தரவு வகைகளை உருவாக்கப் பயன்படுகிறது. எனவே இரண்டு முக்கிய வகையான சீரற்ற எண்கள் உள்ளன, புள்ளிவிவர ரீதியாக சீரற்ற மற்றும் போலி எண்கள் . புள்ளிவிவர ரீதியாக சீரற்ற எண்கள் (கணிதத்தில் எளிய சீரற்ற எண்கள் போன்றவை), அடையாளம் காணக்கூடிய வடிவத்தைக் கொண்டிருக்காத மதிப்புகளின் தொகுப்பாகும். எடுத்துக்காட்டாக, ஒரு பகடையை 10 முறை உருட்டுவது, ஒவ்வொரு முறையும் அடையாளம் காணக்கூடிய வடிவத்தைக் கொண்டிருக்காத ஒரு சீரற்ற எண்ணை உருவாக்கும்.

போலி ரேண்டம் எண்கள் என்றால் என்ன?

இது புள்ளிவிவர ரீதியாக சீரற்ற ஆனால் அறியப்பட்ட தொடக்க புள்ளியைக் கொண்ட மதிப்புகளின் தொகுப்பாகும் . ஜாவாவில், ஒவ்வொரு சூடோராண்டம் எண்ணும் ஒரு அல்காரிதம் மூலம் தயாரிக்கப்படுகிறது. எனவே பொதுவாக ஒவ்வொரு முறையும் java.util.Random ஒரு சீரற்ற எண்ணை உருவாக்கும் போது ஒரு சுழற்சி மீண்டும் நிகழ்கிறது . ஜாவாவில் உள்ள ஒரு சீரற்ற எண் ஜெனரேட்டர் புள்ளிவிவர ரீதியாக சீரற்ற எண்களை உருவாக்கும், ஆனால் ஒரு அல்காரிதம் மூலம் உருவாக்கப்பட்ட தொடக்க புள்ளியுடன். அது அந்த மதிப்புகளை போலித்தனமாக ஆக்குகிறது.

java.util.Random class Cryptographically பாதுகாப்பற்றதா?

இது குறியாக்கவியல் பாதுகாப்பற்றது, ஏனெனில் இது சீரற்ற எண்களை உருவாக்குவதற்கான வழிமுறைகளைக் கொண்டுள்ளது. இதன் விளைவாக, அல்காரிதம் எவ்வாறு செயல்படுகிறது என்பதை அறிந்த ஒருவர், உங்கள் முக்கியமான தரவை அணுக அதிக நேரம் எடுக்காது. எனவே நீங்கள் சில பாதுகாப்பு பயன்பாடுகளுடன் பணிபுரிகிறீர்கள் என்றால், சில முக்கியத் தரவைப் பாதுகாக்க வேண்டும் அல்லது சீரற்ற கடவுச்சொற்களை உருவாக்க வேண்டும் என்றால், இந்த வகுப்பைப் பயன்படுத்துவதைத் தவிர்ப்பது நல்லது. லுடோ, சூதாட்டம், போட்டிக்காக டாஸ் செய்வது அல்லது நீங்கள் விரும்பிய முடிவு கணிக்க முடியாத பிற பகுதிகளில் உங்கள் டைஸ் ரோலுக்கு சீரற்ற எண்ணை உருவாக்குவது போன்ற பல சந்தர்ப்பங்களில் இது உதவியாக இருக்கும்.

முறை அறிவிப்பு

இந்த வகுப்பின் முறைகளைப் பயன்படுத்த, நீங்கள் முதலில் அதை தொகுப்பிலிருந்து இறக்குமதி செய்ய வேண்டும்

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 ]

முறைகள்

ரேண்டம் எண்கள் நமது வகுப்பின் பொருள் அல்லது நிகழ்வு என்பதை மனதில் வைத்து, இந்த வகுப்பின் சில முறைகளைப் பற்றி இப்போது விவாதிப்போம் .
  1. இரட்டை () :

    இந்த முறை போலியான முறையில் உருவாக்கப்பட்ட இரட்டை மதிப்புகளின் எல்லையற்ற தொடரை வழங்குகிறது. இப்போது இந்த முறையை எவ்வாறு பயன்படுத்துவது என்று பார்ப்போம்.

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

    இந்த முறையானது போலியான முறையில் உருவாக்கப்பட்ட முழு எண் மதிப்புகளின் எல்லையற்ற தொடரை வழங்குகிறது. இந்த முறையை அழைக்க பின்வரும் ஸ்கிரிப்டைப் பயன்படுத்தலாம்.

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

    இந்த முறையானது போலியான முறையில் உருவாக்கப்பட்ட நீண்ட மதிப்புகளின் எல்லையற்ற தொடரை வழங்குகிறது. இந்த முறையை அழைக்க பின்வரும் ஸ்கிரிப்ட் பயன்படுத்தப்படுகிறது.

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

    இந்த முறை சீரற்ற எண்கள் ஜெனரேட்டர் வரிசையில் இருந்து அடுத்த சீராக விநியோகிக்கப்படும் சூடோராண்டம் பூலியன் மதிப்பை வழங்குகிறது. சீரான விநியோகம் செவ்வக வடிவமானது, அதாவது விநியோகத்தில் உள்ள ஒவ்வொரு மதிப்புக்கும் சமமான நிகழ்தகவு உள்ளது. இந்த முறையை எவ்வாறு பயன்படுத்துவது என்பது இங்கே.

    
    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