जावा में निम्न सरल प्रोग्राम java.util.Random
वर्ग का उपयोग करता है जैसे कि यह हमेशा "हैलो वर्ल्ड" प्रदर्शित करता है। कोड स्निपेट नीचे देखा जा सकता है।हार्डकोडेड बीज के साथ रैंडम का उपयोग हमेशा एक ही परिणाम क्यों उत्पन्न करता है?
package nomain;
import java.util.Random;
final public class J
{
public static String randomString(int seed)
{
Random rand = new Random(seed);
StringBuilder sb = new StringBuilder();
for(int i=0;;i++)
{
int n=rand.nextInt(27);
if (n==0)
{
break;
}
sb.append((char) ('`'+n));
}
return sb.toString();
}
public static void main(String args[])
{
System.out.println(randomString(-229985452)+' '+randomString(-147909649));
}
}
में यह हमेशा प्रदर्शित करता है कि कुछ आश्चर्य नहीं है "हैलो दुनिया" भले ही रैंडम वर्ग प्रयोग किया जाता है कि यादृच्छिक संख्या का कारण बनता है इसलिए उत्पन्न करने के लिए, संख्या प्रत्येक रन पर बदला जाना चाहिए और इसी पात्रों को तदनुसार बदला जाना चाहिए, लेकिन यह हमेशा "एकमात्र दुनिया" के ऊपर वर्णित केवल एक स्थिर स्ट्रिंग प्रदर्शित करता है। ऐसा क्यों होता है?
शायद यह इस तथ्य के साथ करना है कि यादृच्छिक संख्या जेनरेटर निर्धारित हैं ... अर्थात्, यदि एक ही बीज मूल्य का उपयोग किया जाता है, तो वही अनुक्रम हर बार उत्पन्न होगा। लेकिन मैं सकारात्मक नहीं हूँ। – Bryan
यह प्रश्न उस प्रश्न का डुप्लिकेट नहीं है। यह सवाल इसके बदले में डुप्लिकेट है। – Lion