JavaRush /جاوا بلاگ /Random-SD /ڏنل حد ۾ بي ترتيب نمبر ٺاھيو
L2CCCP
سطح

ڏنل حد ۾ بي ترتيب نمبر ٺاھيو

گروپ ۾ شايع ٿيل
هيلو اسڪرين جي ٻئي پاسي. اسان مان ڪنهن کي جلد يا بعد ۾ هڪ ڏنل حد ۾ بي ترتيب نمبر پيدا ڪرڻ جي ضرورت محسوس ٿئي ٿي، اهو حقيقي نمبر هجي يا هڪ عدد. ڏنل حد ۾ بي ترتيب نمبر پيدا ڪرڻ - 1ڇا جي لاءِ؟ حقيقت ۾، هي اهم نه آهي، اهو هڪ فنڪشن ٿي سگهي ٿو ڳڻڻ جي موقعن جي حساب سان ڪنهن واقعي کي شروع ڪرڻ، بي ترتيب ضرب حاصل ڪرڻ، يا ٻيو ڪو. تنهن ڪري، اسان اهو معلوم ڪيو ته اها ضرورت ڇو آهي، يعني ڪنهن به شيءِ لاءِ :) حقيقت ۾، pseudo-random نمبر حاصل ڪرڻ جا ڪيترائي طريقا آهن، پر مان هڪ مثال ڏيندس ڪلاس سان، Mathيعني طريقو random()؛ اسان وٽ ڇا آهي؟ طريقي کي ڪال ڪرڻ سان رينج مان Math.random()هڪ pseudo-random real number ( ) ملي ٿو ، يعني 1 کان سواءِ 0 کان 1 تائين، جنهن جو مطلب آهي حد ۾ وڌ ۾ وڌ نمبر 0.99999999999... ٺيڪ آهي، اسان کي هڪ pseudo-random نمبر مليو، پر ڇا جيڪڏهن اسان کي پنهنجي حد جي ضرورت آهي؟ مثال طور، ڇا اسان کي حد کان هڪ pseudorandom نمبر جي ضرورت آهي [0؛ 100)؟ اسان ڪوڊ لکون ٿا:double[0;1)
public static void main(String... args)
{
	final double max = 100.; // Максимальное число для диапазона от 0 до max
	final double rnd = rnd(max);

	System.out.println("Псевдослучайное вещественное число: " + rnd);
}

/**
 * Метод получения псевдослучайного вещественного числа от 0 до max (исключая max);
 */
public static double rnd(final double max)
{
	return Math.random() * max;
}
اهو خراب نه ٿيو، پر max(اسان جي صورت ۾) اسان اڃا تائين حاصل نه ڪنداسين. رينج ۾ بي ترتيب نمبر حاصل ڪرڻ لاءِ [0؛ 100] اسان کي max1 کي اسان ۾ شامل ڪرڻو پوندو ۽ پوءِ ان کي انٽيجر ۾ تبديل ڪرڻ جهڙو intيا long(انحصار ڪرڻ جي حدن تي جيڪو توهان استعمال ڪندا). اسان ڪوڊ لکون ٿا:
public static void main(String... args)
{
	final int max = 100; // Максимальное число для диапазона от 0 до max
	final int rnd = rnd(max);

	System.out.println("Псевдослучайное целое число: " + rnd);
}

/**
 * Метод получения псевдослучайного целого числа от 0 до max (включая max);
 */
public static int rnd(int max)
{
	return (int) (Math.random() * ++max);
}
نوٽ: جيئن توهان ڏسي سگهو ٿا، وڌ ۾ وڌ متغير اڳوڻي فارم طرفان وڌايو ويو. (جيڪڏهن توهان کي خبر ناهي ته اهو ڇا آهي، مان توهان کي منهنجو مضمون پڙهڻ جي صلاح ڏيان ٿو ) زبردست، اسان کي اهو مليو جيڪو اسان چاهيون ٿا، پر جيڪڏهن اسان کي حد جي ضرورت آهي 0 کان نه، پر مثال طور [10؛75] اسان ڪوڊ لکون ٿا:
public static void main(String... args)
{
	final int min = 10; // Минимальное число для диапазона
	final int max = 75; // Максимальное число для диапазона
	final int rnd = rnd(min, max);

	System.out.println("Псевдослучайное целое число: " + rnd);
}

/**
 * Метод получения псевдослучайного целого числа от min до max (включая max);
 */
public static int rnd(int min, int max)
{
	max -= min;
	return (int) (Math.random() * ++max) + min;
}
طريقي مان ڪوڊ پارس ڪرڻ rnd:

Минимальное число диапазона = 10;
Максимальное число диапазона = 75;
max -= min; // Отнимаем от максимального значения минимальное для получения множителя псевдослучайного вещественного числа.
حساب ڪتاب کان پوءِ وڌ ۾ وڌ نمبر 65 آھي . pseudo-random real number (مثال طور) 0.18283417347179454 آھي (کال ڪندي حاصل ڪيو ويو Math.random()). وڌ ۾ وڌ تعداد ضرب ڪرڻ کان اڳ اڳياڙي فارم سان وڌايو ويو. وڌ ۾ وڌ نمبر ھاڻي 66 آھي. 0.18283417347179454 کي 66 سان ضرب ڪريو. ضرب جو نتيجو آھي 12.06705544913844. اسان وڌ ۾ وڌ عدد کي ضرب ڪرڻ جي نتيجي کي بدلائي سگھون ٿا هڪ pseudorandom حقيقي عدد سان انٽيجر قسم ۾ int. اسان تبديل ٿيل نتيجي ۾ گھٽ ۾ گھٽ نمبر شامل ڪريون ٿا جيڪو 12 جي برابر آھي. اسان نتيجو ڏيون ٿا: 22 جيئن تجزيي مان ڏسي سگھجي ٿو، جيتوڻيڪ pseudo-random حقيقي نمبر صفر جي برابر آھي، اسان پنھنجي گھٽ ۾ گھٽ واپسي ڪنداسين نتيجي طور. ضرب جي نتيجي سان اسان جي گھٽ ۾ گھٽ نمبر شامل ڪرڻ. مون کي اميد آهي ته هي توهان لاء مفيد ۽ معلوماتي هو. جاوا ۾ مهارت حاصل ڪرڻ ۾ سٺي قسمت؛) منهنجا ڪجهه وڌيڪ مضمون: ڇا آهي واڌارو ۽ گهٽجي رهيو آهي ماڊل ڊويزن آپريٽر
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION