JavaRush /جاوا بلاگ /Random-UR /دی گئی رینج میں بے ترتیب نمبر بنائیں
L2CCCP
سطح

دی گئی رینج میں بے ترتیب نمبر بنائیں

گروپ میں شائع ہوا۔
سکرین کے دوسری طرف ہیلو۔ ہم میں سے کسی کو بھی، جلد یا بدیر، کسی مقررہ حد میں بے ترتیب نمبر بنانے کی ضرورت کا سامنا کرنا پڑتا ہے، چاہے وہ حقیقی نمبر ہو یا عدد۔ دی گئی رینج میں بے ترتیب نمبر بنانا - 1کس لیے؟ درحقیقت، یہ اہم نہیں ہے، یہ کسی واقعہ کو متحرک کرنے، بے ترتیب ضرب، یا کوئی اور حاصل کرنے کے امکانات کا حساب لگانے کا فنکشن ہو سکتا ہے۔ لہذا، ہم نے سوچا کہ اس کی ضرورت کیوں ہے، یعنی کسی بھی چیز کے لیے :) درحقیقت، سیوڈو بے ترتیب نمبر حاصل کرنے کے بہت سارے طریقے ہیں، لیکن میں کلاس کے ساتھ ایک مثال دوں گا، Mathیعنی طریقہ random()؛ ہمارے پاس کیا ہے؟ طریقہ کار کو کال کرنے سے رینج سے Math.random()ایک چھدم بے ترتیب اصلی نمبر ( ) واپس آتا ہے ، یعنی 1 کو چھوڑ کر 0 سے 1 تک، جس کا مطلب ہے کہ حد میں زیادہ سے زیادہ تعداد 0.99999999999 ہے... ٹھیک ہے، ہمیں ایک چھدم بے ترتیب نمبر ملا، لیکن اگر ہمیں اپنی حد کی ضرورت ہو تو کیا ہوگا؟ مثال کے طور پر، کیا ہمیں رینج [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] میں بے ترتیب نمبر حاصل کرنے کے لیے ہمیں maxاپنے نمبر میں 1 کا اضافہ کرنا ہوگا اور پھر اسے ایک عدد عدد میں تبدیل کرنا ہوگا جیسے 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 ہے ۔ سیوڈو بے ترتیب اصلی نمبر (مثال کے طور پر) 0.18283417347179454 ہے (کال کرکے حاصل کیا گیا تھا Math.random())۔ زیادہ سے زیادہ تعداد کو ضرب سے پہلے ایک سابقہ ​​فارم کے ساتھ بڑھایا گیا تھا۔ زیادہ سے زیادہ تعداد اب 66 ہے۔ 0.18283417347179454 کو 66 سے ضرب دیں۔ ضرب کا نتیجہ 12.06705544913844 ہے۔ ہم زیادہ سے زیادہ تعداد کو سیوڈورنڈم حقیقی نمبر سے ضرب کرنے کے نتیجے کو عددی قسم میں تبدیل کرتے ہیں int۔ ہم تبدیل شدہ نتیجہ میں کم از کم نمبر شامل کرتے ہیں جو 12 کے برابر ہے۔ ہم نتیجہ واپس کرتے ہیں: 22 جیسا کہ تجزیہ سے دیکھا جا سکتا ہے، یہاں تک کہ اگر چھدم بے ترتیب حقیقی نمبر صفر کے برابر ہے، ہم نتیجہ کے طور پر اپنی کم از کم واپس کریں گے۔ ضرب کے نتیجے کے ساتھ ہماری کم از کم تعداد کو شامل کرنے کا۔ مجھے امید ہے کہ یہ آپ کے لیے مفید اور معلوماتی تھا۔ جاوا میں مہارت حاصل کرنے میں گڈ لک ؛) میرے کچھ مزید مضامین: کیا اضافہ اور گھٹ رہا ہے The modulo division operator
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION