Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Android

Kotlin में रैंडम नंबर कैसे प्राप्त करें?

परिचय

Kotlin रैंडम नंबर जेनरेट करने के कई तरीके प्रदान करता है: `Random` क्लास, `random()` एक्सटेंशन, और `shuffled()`।

विधि 1: Random क्लास (सबसे लचीला)

import kotlin.random.Random

fun main() {
    // 0 से 29 के बीच 5 रैंडम इंट
    val randomInts = List(5) { Random.nextInt(0, 30) }
    println("रैंडम इंट्स: $randomInts")
    
    // रैंडम डबल (0.0 से 1.0)
    val randomDouble = Random.nextDouble()
    println("रैंडम डबल: $randomDouble")
    
    // रैंडम बूलियन
    val randomBool = Random.nextBoolean()
    println("रैंडम बूल: $randomBool")
    
    // रैंडम लॉन्ग
    val randomLong = Random.nextLong(100, 1000)
    println("रैंडम लॉन्ग: $randomLong")
    
    // रेंज से रैंडम तत्व
    val randomFromRange = (1..100).random()
    println("रेंज से रैंडम: $randomFromRange")
}

विधि 2: रेंज पर random() एक्सटेंशन

fun main() {
    // Int रेंज
    println((1..10).random())        // 1 से 10
    println((1..10).random())        // हर बार अलग
    
    // Long रेंज
    println(100L..200L random())
    
    // Char रेंज
    println(('a'..'z').random())     // रैंडम लोअरकेस अक्षर
    
    // ClosedFloatingPointRange (डबल)
    println((0.0..1.0).random())     // 0.0 से 1.0
}

विधि 3: shuffled() - क्रमबद्ध संग्रह से रैंडम चयन

fun main() {
    // 0-100 से रैंडम (शफल करके अंतिम लेना)
    val random1 = (0..100).shuffled().last()
    println("शफल्ड लास्ट: $random1")
    
    // सूची से रैंडम तत्व
    val items = listOf("Apple", "Banana", "Cherry", "Date")
    val randomItem = items.shuffled().first()
    println("रैंडम आइटम: $randomItem")
    
    // एकाधिक रैंडम यूनिक तत्व (नमूनाकरण)
    val sample = items.shuffled().take(2)
    println("2 रैंडम यूनिक: $sample")
}

विधि 4: ThreadLocalRandom (जावा, उच्च प्रदर्शन)

import java.util.concurrent.ThreadLocalRandom

fun main() {
    // बेहतर प्रदर्शन मल्टीथ्रेडेड वातावरण में
    val randomInt = ThreadLocalRandom.current().nextInt(1, 101)
    println("ThreadLocalRandom: $randomInt")
}

उन्नत: पुनरुत्पादन योग्य रैंडम (सीड के साथ)

import kotlin.random.Random

fun main() {
    // समान सीड = समान अनुक्रम
    val seededRandom = Random.createRandom(42L)
    
    repeat(3) { 
        println("सीडेड: ${seededRandom.nextInt(100)}") 
    }
    // आउटपुट हर रन पर समान होगा
}

सुरक्षा-महत्वपूर्ण अनुप्रयोगों के लिए

import java.security.SecureRandom

fun main() {
    val secureRandom = SecureRandom()
    // क्रिप्टोग्राफिक उपयोग के लिए
    val token = ByteArray(32).also { secureRandom.nextBytes(it) }
    println("सिक्योर टोकन: ${token.joinToString("")}")
}

सारांश

विधिउपयोग का मामलाथ्रेड-सेफ
Random.nextInt()सामान्य उद्देश्यहाँ (आंतरिक सिंक)
(range).random()सरल रेंज-आधारितहाँ
shuffled()संग्रह से नमूनाकरणहाँ
ThreadLocalRandomउच्च-प्रदर्शन मल्टीथ्रेडेडहाँ (थ्रेड-लोकल)
SecureRandomक्रिप्टोग्राफीहाँ
  1. एंड्रॉइड वर्जन नंबर प्रोग्रामेटिकली कैसे प्राप्त करें? एंड्रॉइड वर्जन नंबर प्रोग्रामेटिकली कैसे प्राप्त करें?

    एंड्रॉइड वर्जन नंबर प्रोग्रामेटिकली प्राप्त करने का तरीका यह उदाहरण दर्शाता है कि एंड्रॉइड डिवाइस का वर्जन नंबर (API लेवल) प्रोग्रामेटिकली कैसे प्राप्त किया जाए। हम Build.VERSION.SDK_INT का उपयोग करेंगे। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project पर जाएं और आवश्यक विवरण भरकर ए

  1. Android में डिफ़ॉल्ट फोन नंबर कैसे प्राप्त करें? Android में डिफ़ॉल्ट फोन नंबर कैसे प्राप्त करें?

    Android में TelephonyManager का उपयोग करके फोन नंबर प्राप्त करें यह उदाहरण दर्शाता है कि Android में डिफ़ॉल्ट फोन नंबर (MSISDN) कैसे प्राप्त किया जाता है। ध्यान दें: यह सिम कार्ड पर संग्रहीत नंबर लौटाता है, जो हमेशा उपलब्ध नहीं होता। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project

  1. एंड्रॉइड में दी गई रेंज में रैंडम नंबर कैसे जनरेट करें? एंड्रॉइड में दी गई रेंज में रैंडम नंबर कैसे जनरेट करें?

    एंड्रॉइड में रेंज-बाउंड रैंडम नंबर जनरेशन यह ट्यूटोरियल दर्शाता है कि उपयोगकर्ता-निर्दिष्ट न्यूनतम और अधिकतम मानों के बीच रैंडम इंटीजर कैसे जनरेट करें, इनपुट वैलिडेशन और एरर हैंडलिंग के साथ। लेआउट (activity_main.xml) <LinearLayout xmlns:android=https://schemas.android.com/apk/res/android and