लोड हो रहा है...

Java में Random

Java से छोटी सीमा में एक बेतरतीब संख्या माँगें और प्रिंट करें। Dice.java में import java.util.Random; लिखें, public class Dice रखें, Random rng = new Random(42); बनाएँ, int roll = rng.nextInt(6) + 1; रखें, और roll प्रिंट करें। javac Dice.java से compile करें और java Dice चलाएँ। seed 42 पर स्क्रीन पर 3 दिखना चाहिए। दूसरी डेमो उसी generator से दो roll प्रिंट करती है, इसलिए स्क्रीन 3, फिर 4 दिखाती है। Summary अगली पेज के लिए छोड़ दें — यह पाठ अभ्यास के लिए तय seed वाली बेतरतीब संख्याओं का है, कोर्स का समापन नहीं।

एक seed वाला roll बनाएँ

dates पेज ने एक कैलेंडर दिन जमा किया था। यह पेज एक roll माँगता है। Dice.java खोलें। public class का नाम Dice रखें। बची हुई Stamp date डेमो हटाएँ अगर वे Random की कहानी दबा दें, Yard formatting जोड़, naming फाइलें, और कोई भी keyboard Scanner। प्रोग्राम टाइप की प्रतीक्षा नहीं करे।
फाइल के ऊपर import जोड़ें:
import java.util.Random;
Dice.main के अंदर seed वाला generator बनाएँ ताकि इस शिक्षण फाइल की हर रन पर पहला मान वही रहे:
Random rng = new Random(42);
int roll = rng.nextInt(6) + 1;
System.out.println(roll);
सिर्फ nextInt(6) 0 से 5 लौटाएगा। 1 जोड़ने से सीमा 1 से 6 हो जाती है, जैसे छह-पन्ने वाला पासा। seed 42 जादू नहीं — यह सिर्फ इस पाठ के लिए क्रम लॉक करता है ताकि क्विज़ और स्क्रीन मेल खाएँ। आप हर बार पढ़ने पर नया अनुमान नहीं लगाते।

Dice one seeded roll prints 3

java
import java.util.Random;

public class Dice {
    public static void main(String[] args) {
        Random rng = new Random(42);
        int roll = rng.nextInt(6) + 1;
        System.out.println(roll);
    }
}

जिस फोल्डर में Dice.java है, वहाँ javac Dice.java चलाएँ। जब कोष्ठक, ब्रेस और सेमीकोलन मेल खाएँ, javac अपनी कोई लाइन नहीं लिखता। फिर java Dice चलाएँ — java Dice.java नहीं। रन कमांड से .java हटाएँ। फाइल में एक public class रखें ताकि नाम Dice से मेल खाए।
स्क्रीन 3 दिखाती है। रन को एक बार चलकर देखें। Java Dice.main से शुरू होता है। कंस्ट्रक्टर seed 42 रखता है। पहली nextInt(6) कॉल 0..5 में मान खींचती है, फिर + 1 से 1..6 बनता है। इस seed पर पहला roll 3 बनता है। प्रिंट 3 लिखता है।
स्क्रीन देखते हुए शुरुआती नियम बोलें: Random import करें, दोहराने योग्य डेमो चाहिए तो seed के साथ बनाएँ, पासे जैसी सीमा के लिए nextInt(6) + 1 बुलाएँ, roll प्रिंट करें। इस पेज पर Summary अध्याय न बनाएँ। Summary अगले पाठ का इंतज़ार करता है। 1 से 6 चाहिए तो + 1 न हटाएँ।
अगर बची Stamp dates फाइल से अभी भी 2026-03-15 दिखे, Random शिक्षण फाइल पर जाएँ और फिर java Dice चलाएँ। अगर javac कहे Random नहीं मिला, Dice.java के ऊपर import लाइन जाँचें।

उसी generator से दूसरा roll

एक roll सीमा साबित करता है। उसी Random ऑब्जेक्ट पर दूसरी कॉल क्रम जारी रखती है। वही seed वाला कंस्ट्रक्टर रखें। दो roll प्रिंट करें:
System.out.println(rng.nextInt(6) + 1);
System.out.println(rng.nextInt(6) + 1);
seed 42 पर पहला प्रिंट अभी भी 3 है। दूसरा 4 प्रिंट करता है। दोनों मान 1..6 में रहते हैं। generator याद रखता है कहाँ है; उसी क्रम का अगला मान चाहिए तो इन दो लाइनों के बीच दोबारा new Random(42) न बनाएँ।

Dice two seeded rolls print 3 then 4

java
import java.util.Random;

public class Dice {
    public static void main(String[] args) {
        Random rng = new Random(42);
        System.out.println(rng.nextInt(6) + 1);
        System.out.println(rng.nextInt(6) + 1);
    }
}

javac Dice.java से compile करें और फिर java Dice चलाएँ। स्क्रीन 3, फिर 4 दिखाती है। रन को एक बार चलकर देखें। वही seed क्रम शुरू करता है। पहला nextInt(6) + 1 3 प्रिंट करता है। दूसरी कॉल आगे बढ़कर 4 प्रिंट करती है। कुछ भी keyboard का इंतज़ार नहीं करता। कुछ भी कैलेंडर दिन स्टोर नहीं करता।
दो डेमो को दो शिक्षण आकार रखें। पहले एक seed वाला roll साबित करें। फिर क्रम में दो roll साबित करें। दोनों आकार में वही import और वही seed है। दूसरे आकार में बस एक और nextInt कॉल जुड़ती है।
अगर हर प्रिंट से पहले new Random(42) बनाएँ, हर लाइन क्रम फिर से शुरू करती है और आपको दो बार 3 मिल सकता है। वह अलग आदत है। यह पेज दो-roll डेमो के लिए एक generator रखती है ताकि दूसरी लाइन आगे बढ़े।

Random न कैलेंडर है न Summary

dates ने एक तय दिन रखा जिसे प्रिंट और तोड़ा जा सकता था। Random सीमा में बेतरतीब संख्या खींचता है। Summary अगली पेज पर कोर्स पथ समेटेगा। आज इन तीन कामों को एक शुरुआती फाइल में न मिलाएँ।
बिना seed के हर रन पर पहला roll अलग हो सकता है। बाद के खेलों के लिए ठीक है। यह पाठ seed 42 इस्तेमाल करता है ताकि शिक्षण स्क्रीन और क्विज़ एक जवाब साझा करें। दोनों तरीकों से आप वही nextInt कॉल सीखते हैं।
import न हो तो javac स्क्रीन लाइन से पहले फेल हो जाता है। + 1 भूलें तो 0 आ सकता है, जो मानक पासे का चेहरा नहीं है। import रखें, शिफ्ट रखें, और java Dice चलाएँ जब तक एक-roll डेमो 3 न दिखाए या दो-roll डेमो 3 फिर 4 न दिखाए।
अगर बची date डेमो पास में पड़ी हों, इतिहास की तरह रखें। इस पाठ के लिए Random शिक्षण फाइल चलाएँ ताकि स्क्रीन सीमा में बेतरतीब संख्या दिखाए, 2026-03-15 नहीं। अगर javac duplicate public class की शिकायत करे, सिर्फ Dice public रखें।

सीमा, seed और + 1 की आदत

nextInt(6) का मतलब छह संभव शुरुआती मान: 0, 1, 2, 3, 4, और 5। अभिव्यक्ति nextInt(6) + 1 उन्हें 1, 2, 3, 4, 5, और 6 से मैप करती है। कोड देखते हुए यह मैपिंग एक बार ज़ोर से बोलें। bound आर्ग्युमेंट शुरुआती मानों की गिनती है, शिफ्ट के बाद सबसे ऊँचा चेहरा नहीं।
seed लॉक करता है कि इस शिक्षण फाइल में पहले कौन-सा चेहरा दिखेगा। seed बदलने से क्रम बदलता है। seed हटाने से रनों के बीच क्रम बदलता है। इस पेज के नंबर वाले अभ्यास के लिए 42 रखें ताकि पहला चेहरा 3 रहे।
Random को LocalDate का विकल्प न समझें। roll को formatting indent नियम न समझें। हर पिछली पेज ने अपना काम रखा। यह पेज सिर्फ बेतरतीब संख्या रखती है।

Summary से पहले

आप Random import कर सकते हैं, new Random(42) बना सकते हैं, nextInt(6) + 1 चला सकते हैं, एक रन में 3 देख सकते हैं, और दो-roll डेमो में 3 फिर 4 देख सकते हैं। रखी डेमो के लिए Dice.java compile करें और java Dice चलाएँ। सीमा 1..6 रही; seed ने शिक्षण के लिए क्रम स्थिर रखा। अगली पेज Summary है, जहाँ आप Java पथ पर पीछे मुड़कर देखेंगे।
seed वाली पासा डेमो स्पष्ट बेतरतीब-संख्या जोड़ी के लिए रखें। Random अभ्यास करते समय dates फाइलें इस पेज से दूर रखें। Summary फाइलें उस पाठ तक इस पेज से दूर रखें। ये तीन आदतें आगे बढ़ने से पहले चेकपॉइंट हैं। जब एक-roll स्क्रीन 3 दिखाए या दो-roll स्क्रीन 3 फिर 4 दिखाए, Random ने इस पाठ का काम कर दिया और आप Summary वाले अगले विषय के लिए तैयार हैं।
फोल्डर में एक आखिरी पास: एक public Dice, import मौजूद, new Random(42), nextInt(6) + 1, keyboard प्रतीक्षा नहीं, जबरन कैलेंडर प्रकार नहीं। जो डेमो खुली रखें उस पर एक बार और javac Dice.java और java Dice चलाएँ। अगर स्क्रीन अभी भी 3 या 3 फिर 4 दिखाए, Random आकार मज़बूत है और कोर्स अगली पेज पर Summary पर जा सकता है। हर पढ़ाई में एक स्पष्ट बेतरतीब आदत रखें ताकि हर पास वही नक्शा सिखाए।

🧠 अपने ज्ञान की परीक्षा करें

शुरू करने के लिए तैयार

अपने ज्ञान की परीक्षा करें

इस इंटरैक्टिव क्विज़ के साथ अपनी चुनौती लें और देखें कि आप विषय को कितनी अच्छी तरह समझते हैं

❓
5
प्रश्न
🎯
70%
पास करने के लिए
♾️
∞
समय
🔄
∞
प्रयास

📝 निर्देश

  • हर प्रश्न को ध्यान से पढ़ें
  • हर प्रश्न के लिए सबसे अच्छा उत्तर चुनें
  • आप जितनी बार चाहें क्विज़ दोबारा दे सकते हैं
  • आपकी प्रगति शीर्ष पर दिखाई जाएगी