আপনি নিজের মত করে একটা ফাংশন তৈরি করে নিতে পারেন এলোমেলো সংখ্যা তৈরি করার জন্য। আর তা তা না চাইলে অবশ্যই আপনি লাইব্রেরী ফাংশন ব্যবহার করতে চাইবেন। জাভাতে এলোমেলো সংখ্যার জন্য Math.random(); ফাংশন রয়েছে, যার মাধ্যমে আপনি Random Number তৈরি করতে পারেন।
Math.random() আপনাকে ০ থেকে ১ এর মধ্যে একটা সংখ্যা দিবে। নিচের প্রোগ্রামটা দেখুন, এটা রান করারলে 0.3056384461257321 এরকম একটা নাম্বার দিবে।
package javarandomnumber; import java.util.Random; /** * * @author J */ public class JavaRandomNumber { public static void main(String[] args) { double randomNum = Math.random(); System.out.println(randomNum); } }
কিন্তু আমরা চাই ১ থেকে ৫০ এর মধ্যে একটা নাম্বার দিবে, তার জন্য ৫০ দিয়ে Math.random() দিয়ে গুন দিলেই আমরা ১ -৫০ এর মধ্যে একটা সংখ্যা পেয়ে যাবো।
যেমনঃ
package javarandomnumber; import java.util.Random; /** * * @author J */ public class JavaRandomNumber { public static void main(String[] args) { double randomNum = Math.random()*50; System.out.println(randomNum); } }
এটা যেহেতু Double, তাই আমাদের দশমিক সহ নাম্বার দিচ্ছে। চাইলে এটাকে Integer মান নিতে পারেন। তাহলে আর দশমিকের পরের সংখ্যা গুলো আসবে না। আপনি যদি ১ থেকে ১০০ এর মধ্যে যে কোন সংখ্যা পেতে চান তার জন্য ৫০ এর জাগায় ১০০ দিয়ে গুন দিতে পারেন। অর্থাৎ যত দিয়ে গুন দিবেন আমাদের ১ থেকে তত নাম্বারের মধ্যে এলোমেলো নাম্বার দিবে।
আচ্ছা, আমরা তো সব সময় ১ থেকে অন্য আরেকটি সংখ্যা পর্যন্ত Random Number না নিয়ে ৩০-৯০ বা এমন কোন লিমিটের মধ্যে Random Number দরকার হতে পারে, তখন কি করব?
তার জন্য একটু ট্রিক খাটালেই হয়ে যবে।
তার জন্য Min + (Math.random() * (Max - Min)) এভাবে লিখলে আমরা একটা লিমিটের মধ্যে সংখ্যাটা পেয়ে যাবো। এখানে Min বলতে সর্ব নিন্ম লিমিট(৩০) এবং Max বলতে সর্বোচ্চ লিমিট (৯০) বুঝানো হয়েছে।
নিচের প্রোগ্রামটা দেখুনঃ
package javarandomnumber; import java.util.Random; public class JavaRandomNumber { public static void main(String[] args) { int randomNum = (int) (30 + (Math.random() * (90 - 30))); System.out.println(randomNum); } }
৯0 থেকে ৩০ গেলে থাকে ৬০, আমাদের ফাংশনটা আমাদেরকে ১ থেকে ৬০ এর মধ্যে একটা নাম্বার দিচ্ছে। কিন্তু আমাদের দরকার ৩০-৯০ এর মধ্যে। এখন ১-৬০ এর মধ্যে যে নাম্বারটা তার সাথে ৩০ যোগ করে দিলেই তো ৩০-৯০ এর মধ্যে একটা সংখ্যা পাওয়া যায় তাই না?
ভাল লাগল ।
ধন্যবাদ।
সহজ ও সুন্দর ব্যাখ্যা।
শুভকামনা রইল ।