2011-05-20 11 views

उत्तर

74

nextFloat विधि कोई तर्क नहीं लेता है। इसे कॉल करें, फिर इच्छित श्रेणी पर लौटाए गए मान को स्केल करें।

float minX = 50.0f; 
float maxX = 100.0f; 

Random rand = new Random(); 

float finalX = rand.nextFloat() * (maxX - minX) + minX; 
+2

ओह, मुझे लगता है कि यह अगले INT() – herpderp

+1

@herpderp की तरह काम करेगा: नहीं, यह केवल 0.0 और 1.0 के बीच एक मान देता है जिसे आप एक आसान स्केलिंग कारक के रूप में उपयोग कर सकते हैं। –

+0

अगले फ़्लोट दस्तावेज़ का लिंक टूटा हुआ है। शायद यह एक https://docs.oracle.com/javase/7/docs/api/java/util/Random.html#nextFloat() –

0

प्रलेखन बहुत स्पष्ट है, nextFloat() किसी भी तर्क नहीं लेता है। यह आपको 0 और 1 के बीच एक संख्या देगा, और आपको इसकी गणना में इसका उपयोग करना होगा।

संपादित करें: उदाहरण के

private Random random = new Random(); 
public float nextFloat(float min, float max) 
{ 
    return min + random.nextFloat() * (max - min) 
} 
0

यह निम्नलिखित की तरह पढ़ना चाहिए के रूप में दूसरों सुझाव दे रहे हैं।

float finalX = rand.nextFloat(); 
// do other stuff 
4

रैंडम केवल लौटने 0 और 1.0 (पूर्णांकों के लिए की तरह कोई अतिभारित संस्करण) के बीच तैरता: http://download.oracle.com/javase/6/docs/api/java/util/Random.html#nextFloat()

मुझे लगता है कि तुम क्या आप के साथ इच्छुक रहे हैं कर सकते हैं:: Javadocs यहाँ देखें

float finalX = (maxX - minX) * rand.nextFloat() + minX; 
संबंधित मुद्दे