दिलचस्प पोस्ट
क्या स्ट्रिंग एक मान्य संख्या है या नहीं यह जांचने के लिए जावास्क्रिप्ट में एक (अंतर्निर्मित) तरीका है? कार्यक्रम को सी ++ में समय संकलित करने पर स्थैतिक एरेज़ बनाएँ मुझे एक नाशक कब बनाऊं? कंसोल अनुप्रयोग में .NET वैश्विक अपवाद हैंडलर चल बिन्दु गणित टूट गया है? Express.js req.body अपरिभाषित Tensorflow: कैसे एक मॉडल को बचाने / बहाल करने के लिए? जावास्क्रिप्ट कैसे एक स्ट्रिंग से पाठ को हटाने के लिए Cmake चर पुनरावर्ती सेट है? Bash: एक स्ट्रिंग से सही उद्धृत / बचें तर्क पढ़ना फाइल करने के लिए एचटीएमएल 5 रिकॉर्ड ऑडियो एक मॉडल को एमवीसी में कैसे संरचित किया जाना चाहिए? कोर डेटा में सभी प्रविष्टियों को हटाएं / रीसेट करें? जाँच करें कि चेकबॉक्स की जाँच की गई है जावास्क्रिप्ट जावा में स्ट्रिंग्स की अक्षमता

एक सरणी से बेतरतीब ढंग से एक तत्व कैसे चुनें

मैं एक पूर्णांक सरणी से बेतरतीब ढंग से संख्या लेने के लिए समाधान की तलाश कर रहा हूं।

उदाहरण के लिए मेरे पास एक new int[]{1,2,3} , मैं एक संख्या को बेतरतीब ढंग से कैसे चुन सकता हूं?

वेब के समाधान से एकत्रित समाधान "एक सरणी से बेतरतीब ढंग से एक तत्व कैसे चुनें"

 public static int getRandom(int[] array) { int rnd = new Random().nextInt(array.length); return array[rnd]; } 

आप यादृच्छिक इंडेक्स उत्पन्न करने के लिए यादृच्छिक जनरेटर का उपयोग कर सकते हैं और उस अनुक्रमणिका पर तत्व लौटा सकते हैं:

 //initialization Random generator = new Random(); int randomIndex = generator.nextInt(myArray.length); return myArray[randomIndex]; 

यदि आप एक यादृच्छिक तत्व को कई बार प्राप्त करने जा रहे हैं, तो आप यह सुनिश्चित करना चाहते हैं कि आपका यादृच्छिक संख्या जनरेटर केवल एक बार आरंभ किया गया है।

 import java.util.Random; public class RandArray { private int[] items = new int[]{1,2,3}; private Random rand = new Random(); public int getRandArrayElement(){ return items[rand.nextInt(items.length)]; } } 

यदि आप यादृच्छिक सरणी तत्वों को चुनना चाहते हैं जो अप्रत्याशित होने की आवश्यकता है, तो आपको रैंडम के बजाय java.security.SecureRandom का उपयोग करना चाहिए। इससे यह सुनिश्चित होता है कि अगर कोई आखिरी कुछ युक्तियों को जानता है, तो अगले एक अनुमान लगाने में उनका कोई लाभ नहीं होगा।

यदि आप जेनेरिक का उपयोग करते हुए एक ऑब्जेक्ट सरणी से यादृच्छिक संख्या चुनना चाहते हैं, तो आप ऐसा करने के लिए एक विधि परिभाषित कर सकते हैं ( स्ट्रिंग एरे से रैंडम तत्व में स्रोत अविनाश आर ):

 import java.util.Random; public class RandArray { private static Random rand = new Random(); private static <T> T randomFrom(T... items) { return items[rand.nextInt(items.length)]; } } 

java.util.Random का उपयोग 0 और सरणी लंबाई के बीच यादृच्छिक संख्या उत्पन्न करने के लिए: random_number , और फिर पूर्णांक प्राप्त करने के लिए यादृच्छिक संख्या का उपयोग करें: array[random_number]

रैंडम कक्षा का उपयोग करें:

 int getRandomNumber(int[] arr) { return arr[(new Random()).nextInt(arr.length)]; } 

आप भी उपयोग कर सकते हैं

 public static int getRandom(int[] array) { int rnd = (int)(Math.random()*array.length); return array[rnd]; } 

Math.random () 0.0 (समावेशी) से 1.0 (अनन्य) के बीच एक अंतर देता है

सरणी के साथ इसे गुणा करना। लम्बाई आपको 0.0 (समावेशी) और array.length (अनन्य) के बीच एक संख्या देता है।

int करने के लिए कास्टिंग आपको और 0 (समावेशी) और array.length-1 (समावेशी) के बीच पूर्णांक देता है।

इस प्रश्न पर एक नज़र डालें:

मैं जावा में एक विशिष्ट श्रेणी के भीतर यादृच्छिक पूर्णांक कैसे उत्पन्न करूं?

आप 0 से लेकर अपने पूर्णांक लंबाई तक एक यादृच्छिक संख्या उत्पन्न करना चाहते हैं – 1. फिर अपनी सरणी को अपने ऐरे से प्राप्त करें:

 myArray[myRandomNumber]; 
 Collections.shuffle(Arrays.asList(araay_of_int)); 

अपना काम करने के लिए उपरोक्त बेहतर तरीका

Java.util पैकेज में जावा में एक यादृच्छिक कक्षा है इसका उपयोग करना आप निम्न कार्य कर सकते हैं:

 Random rnd = new Random(); int randomNumberFromArray = array[rnd.nextInt(3)]; 

उम्मीद है की यह मदद करेगा!

चूंकि आपके पास जावा 8 है, एक अन्य समाधान स्ट्रीम एपीआई का उपयोग करना है।

 new Random().ints(1, 500).limit(500).forEach(p -> System.out.println(list[p])); 

जहां 1 सबसे कम इंट उत्पन्न (समावेशी) है और 500 सर्वोच्च (अनन्य) है। limit मतलब है कि आपकी स्ट्रीम में 500 की लंबाई होगी

  int[] list = new int[] {1,2,3,4,5,6}; new Random().ints(0, list.length).limit(10).forEach(p -> System.out.println(list[p])); 

यादृच्छिक java.util पैकेज से है।

 package workouts; import java.util.Random; /** * * @author Muthu */ public class RandomGenerator { public static void main(String[] args) { for(int i=0;i<5;i++){ rndFunc(); } } public static void rndFunc(){ int[]a= new int[]{1,2,3}; Random rnd= new Random(); System.out.println(a[rnd.nextInt(a.length)]); } }