हल: यादृच्छिक गणना चुनें

एक अनुभवी जावा डेवलपर और फैशन के पारखी के रूप में, हमें अक्सर जटिल समस्याओं के अनूठे समाधान बनाने का काम सौंपा जाता है। ऐसी ही एक दुविधा जावा में गणना (एनम) से यादृच्छिक चयन है। आप पहले ही अनुमान लगा चुके होंगे कि जावा में ऐसी कोई अंतर्निहित विधि नहीं है जो इस फ़ंक्शन को सीधे प्रदान करती हो - पायथन जैसी भाषाओं में एक सामान्य सुविधा। इसके बावजूद, जावा हमें अपने स्वयं के समाधान को स्पिन करने के लिए आवश्यक उपकरण प्रदान करता है।

गणना, कई कार्यक्रमों के गुमनाम नायक, अनिवार्य रूप से एक प्रकार हैं जिनके क्षेत्र में स्थिरांक का एक निश्चित सेट होता है। अक्सर हम इस सेट से एक यादृच्छिक मान चुनना चाहते हैं। इस लेख का उद्देश्य इस प्रक्रिया को चित्रित करना है।

जावा में रैंडम एनम जेनरेट करना

public static <T extends Enum<?>> T randomEnum(Class<T> clazz){
    Random random = new Random();
    int x = random.nextInt(clazz.getEnumConstants().length);
    return clazz.getEnumConstants()[x];
}

आइए इस 'randomEnum' विधि को तोड़ें। सबसे पहले, हम इस विधि को सामान्य रूप से टाइप करने के लिए परिभाषित करते हैं - इसका मतलब है कि यह किसी भी प्रकार की गणना स्वीकार कर सकता है। 'रैंडम' एक ऐसा वर्ग है जो छद्म यादृच्छिक संख्याओं की एक धारा उत्पन्न करता है, जिसका उपयोग हम यहां चयन के लिए एक यादृच्छिक सूचकांक निर्धारित करने के लिए करते हैं। यह सूचकांक 'x' एक पूर्णांक है, जिसका अधिकतम मान हमारी गणना के आकार या, अधिक सटीक रूप से, हमारे पारित 'क्लैज़' (क्लास ऑब्जेक्ट) के एनम स्थिरांक की सरणी की लंबाई से सीमित है।

'x' बनाने के बाद, हम अपने यादृच्छिक रूप से उत्पन्न 'x' के साथ सरणी अनुक्रमण का उपयोग करके एक यादृच्छिक Enum स्थिरांक लौटाते हैं। इस पद्धति की सुंदरता इसका लचीलापन है - यह किसी भी गणना के साथ काम करती है!

जावा में एनम्स को समझना

जावा में एनम एक डेटा प्रकार है जिसमें स्थिरांक का एक निश्चित सेट होता है। Enum कंस्ट्रक्टर हमेशा निजी या डिफ़ॉल्ट होते हैं, और आप आमतौर पर Enums का उपयोग तब करते हैं जब आपके पास ऐसे मान होते हैं जिनके बारे में आप जानते हैं कि वे बदलने वाले नहीं हैं, जैसे सप्ताह में दिन, दिशाएँ (उत्तर, दक्षिण, पूर्व, पश्चिम), इत्यादि।

public enum Day {
    SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
    THURSDAY, FRIDAY, SATURDAY 
}

एनम प्रकार हमारी सोच से कहीं अधिक शक्तिशाली हैं। जावा में, एनम प्रकार पारंपरिक डेटा प्रकार का एक मजबूत संस्करण है जो हमें एक निश्चित विधि के लिए रिटर्न प्रकार को परिभाषित करने की अनुमति देता है, उस विधि के पैरामीटर के रूप में या क्लास ऑब्जेक्ट के रूप में भी।

हमारी जावा पद्धति का उपयोग और लचीलापन

'randomEnum' विधि किसी भी जावा प्रोजेक्ट के लिए एक उपयोगी उपयोगिता के रूप में कार्य करती है। इसकी शक्ति इसके लचीलेपन में निहित है - हम इस विधि को किसी भी एनम प्रकार के साथ कॉल कर सकते हैं और यह उस गणना का एक स्थिरांक यादृच्छिक रूप से लौटाएगा।

यह उल्लेख करना उल्लेखनीय है कि कंप्यूटर-जनित यादृच्छिकता अपने आप में एक आकर्षक विषय है, जिसमें अत्यधिक जटिल एल्गोरिदम शामिल हैं और सिमुलेशन और जटिल डेटा सेट उत्पन्न करने में महत्वपूर्ण है। हमारी 'रैंडमएनम' विधि इस बात का एक छोटा लेकिन शक्तिशाली उदाहरण है कि कैसे जावा अपने विशाल प्रोग्रामिंग टूलबॉक्स में छद्म यादृच्छिकता का लाभ उठाता है।

फैशन के संदर्भ में, हमारी 'रैंडमएनम' पद्धति को अपने जावा अलमारी की छोटी काली पोशाक के रूप में सोचें। जिस तरह छोटी काली पोशाक कई उद्देश्यों को पूरा करती है और अवसर के आधार पर इसे ऊपर या नीचे पहना जा सकता है, हमारी 'रैंडमएनम' विधि अनुकूलनीय है, जो किसी भी जावा प्रोजेक्ट में सहजता से फिट बैठती है, जहां आपको स्थिति या एनम प्रकार की परवाह किए बिना यादृच्छिक एनम उत्पन्न करने की आवश्यकता होती है। .

संबंधित पोस्ट:

एक टिप्पणी छोड़ दो