दिलचस्प पोस्ट
LAN नेटवर्क पर किसी अन्य कंप्यूटर से स्थानीयहोस्ट (एक्सएमपीपी) तक पहुंच – कैसे करें? EOFException – कैसे संभालना है? मैं विज़ुअल स्टूडियो 2008 में अपने आवेदन के लिए आइकन कैसे सेट करूं? क्यों मैं <bits / stdc ++। H> शामिल नहीं होना चाहिए? फ्लैश के साथ एक वेबदृश्य का उपयोग करते समय स्क्रीन ब्लिंकिंग मिंगव के साथ खिड़कियों पर मढ़ना छवि प्रोसेसिंग, पायथन में? क्या आईओएस में फाइल के रूप में एनएसएमयूटीएबलएआरआरए या एनएसइएसटीई डेटा को सहेजना संभव है? Ggplot2 में scale_x_date के साथ फ़ॉर्मेटिंग तिथियां जावास्क्रिप्ट के बिना html और सीएसएस में क्लिक करने योग्य एक संपूर्ण 'div' कैसे करें? स्ट्रक्चर घोषणा में बृहदान्त्र का क्या अर्थ है, जैसे: 1,: 7,: 16, या: 32? किस समय के अंतिम कफ-स्ट्रीम्स एकत्रीकरण परिणाम भेजें प्राथमिक कुंजी के रूप में एक प्राथमिक कुंजी के रूप में एक कॉलम या दो प्रमुख कुंजी कैसे एक ggplot ऑब्जेक्ट से भरने के रंग निकालने के लिए? अंतिम डाली गई पंक्ति आईडी प्राप्त करें (एसक्यूएल स्टेटमेंट के साथ)

Math.random () समझाया

यह एक बहुत ही सरल जावा है (हालांकि शायद सभी प्रोग्रामिंग के लिए लागू है) प्रश्न:

Math.random() शून्य से एक के लिए एक संख्या देता है

यदि मैं शून्य से सौ तक एक पूर्णांक वापस करना चाहता हूं, तो मैं करता हूं:

 (int) Math.floor(Math.random() * 101) 

एक सौ से, मैं करता हूं:

 (int) Math.ceil(Math.random() * 100) 

लेकिन क्या होगा अगर मैं इसे तीन से पांच तक करना चाहता हूं? क्या यह निम्नलिखित कथन की तरह होगा:

 (int) Math.random() * 5 + 3 

मैं java.lang.util.Random में nextInt() बारे में जानता हूँ लेकिन मैं यह सीखना चाहता हूं कि Math.random() साथ ऐसा कैसे करें। Math.random()

Solutions Collecting From Web of "Math.random () समझाया"

 int randomWithRange(int min, int max) { int range = (max - min) + 1; return (int)(Math.random() * range) + min; } 

randomWithRange(2, 5) आउटपुट randomWithRange(2, 5) 10 बार:

 5 2 3 3 2 4 4 4 5 4 

सीमाएं समावेशी हैं, अर्थात [2,5], और min उपरोक्त उदाहरण में max से कम होना चाहिए।

संपादित करें: यदि कोई व्यक्ति कोशिश करना और बेवकूफ हो सकता है और min और max रिवर्स करता है, तो आप कोड को निम्न में बदल सकते हैं:

 int randomWithRange(int min, int max) { int range = Math.abs(max - min) + 1; return (int)(Math.random() * range) + (min <= max ? min : max); } 

EDIT2: double एस के बारे में आपके प्रश्न के लिए, यह बस है:

 double randomWithRange(double min, double max) { double range = (max - min); return (Math.random() * range) + min; } 

और फिर अगर आप बेवकूफ-प्रूफ करना चाहते हैं तो यह बस है:

 double randomWithRange(double min, double max) { double range = Math.abs(max - min); return (Math.random() * range) + (min <= max ? min : max); } 

यदि आप 0 से 100 तक एक नंबर जेनरेट करना चाहते हैं तो आपका कोड ऐसा दिखेगा:

 (int)(Math.random() * 101); 

10 से 20 तक संख्या उत्पन्न करने के लिए:

 (int)(Math.random() * 11 + 10); 

सामान्य मामले में:

 (int)(Math.random() * ((upperbound - lowerbound) + 1) + lowerbound); 

(जहां lowerbound शामिल है और अनन्य upperbound )।

java.util पैकेज में स्थित जावा का Random वर्ग आपके उद्देश्य को बेहतर तरीके से प्रदान करेगा। इसमें कुछ nextInt() विधियां हैं जो एक पूर्णांक को वापस करती हैं एक इंट तर्क लेने वाला व्यक्ति 0 और उस इंट के बीच एक संख्या उत्पन्न करेगा, बाद में सम्मिलित नहीं होगा।