كيف تتعامل مع الرقم العشوائي ومولد السلاسل في جافا؟



ستعرفك هذه المقالة على Random Number and String Generator في Java ومتابعتها بعرض برمجي.

ستقدم لك هذه المقالة رقم عشوائي و String Generator In Java ومتابعتها بعرض برمجي. سيتم تغطية المؤشرات التالية في هذه المقالة ،

هناك ثلاث طرق لتوليد أرقام عشوائية في جافا باستخدام طرق وفئات مضمنة.





  • Java.util.Random class
  • طريقة Math.random
  • فئة ThreadLocalRandom

لذلك دعونا نبدأ مقالة حول مولد الأرقام والسلاسل العشوائية في جافا ،

جافا .مفيد. عشوائي

بادئ ذي بدء ، نحتاج إلى إنشاء مثيل من هذه الفئة في البرنامج ثم استدعاء الطرق المضمنة المختلفة مثل nextInt () و nextDouble () إلخ باستخدام المثيل الذي أنشأناه.
يمكن إنشاء أعداد عشوائية من نوع الأعداد الصحيحة ، عدد عشري ، مزدوج ، طويل ، منطقي باستخدام هذه الفئة.
يمكن تمرير الوسيطات إلى طرق تحديد الحد الأعلى الذي سيتم إنشاء الرقم. على سبيل المثال ، nextInt (4) سينشئ أرقامًا في النطاق من 0 إلى 3 (كلاهما شامل).



مثال 1:

// برنامج Java لإظهار إنشاء رقم عشوائي // باستخدام java.util.Random import java.util.Random public class Main {public static void main (String args []) {// إنشاء مثيل للفئة العشوائية Random rand = new Random () // توليد أعداد صحيحة عشوائية في النطاق من 0 إلى 99 int1 = rand.nextInt (100) int int2 = rand.nextInt (100) // طباعة أعداد صحيحة عشوائية System.out.println ('أعداد صحيحة عشوائية:>' + int1) System.out.println ('Random Integers:>' + int2) // Generating Random doubles double dub1 = rand.nextDouble () double dub2 = rand.nextDouble () // طباعة مضاعفات عشوائية System.out.println (' الزوجي العشوائي:> '+ dub1) System.out.println (' زوجي عشوائي:> '+ dub2)}}

انتاج:

إخراج رقم عشوائي ومولد سلسلة في جافا- Edureka



مثال:

// برنامج Java لإظهار توليد رقم عشوائي // باستخدام java.util.Random import java.util.Random public class Main {public static void main (String args []) {// إنشاء مثيل للفئة العشوائية Random rand = new Random () // توليد أعداد صحيحة عشوائية في النطاق من 0 إلى 9 int1 = rand.nextInt (10) // طباعة عدد صحيح عشوائي System.out.println ('Random Integer:>' + int1)}}

انتاج:

ما هو مثيل جافا

المضي قدما مع هذا المقال

رياضيات . عشوائي ( )

تتكون الفئة المسماة Math من طرق مختلفة لإجراء عدد من العمليات العددية المختلفة التي تشمل اللوغاريتمات وحل الأسي وما إلى ذلك. من بين هذه العمليات ، هناك عشوائية () تُستخدم لتوليد أعداد عشوائية من النوع المزدوج بين النطاق 0.0 و 1.0 . تُرجع هذه الطريقة قيمة مزدوجة إما أكبر من أو تساوي 0.0 وأقل من أو تساوي 1.0 مع علامة موجبة. القيم التي يتم إرجاعها بواسطة عشوائي () يتم اختيارها عشوائيًا بواسطة الجهاز.

مثال 1:

// برنامج Java لتوضيح عمل // Math.random () لتوليد أرقام عشوائية استيراد java.util. * public class Main {public static void main (String args []) {// إنشاء قيمة عشوائية لنوع البيانات مزدوج System.out.println ('القيمة العشوائية:' + Math.random ())}}

انتاج:

للتحقق من العشوائية ، دعونا ننفذ البرنامج مرة أخرى.

// برنامج Java لتوضيح عمل // Math.random () لتوليد أرقام عشوائية استيراد java.util. * public class Main {public static void main (String args []) {// إنشاء قيمة عشوائية لنوع البيانات مزدوج System.out.println ('قيمة عشوائية أخرى:' + Math.random ())}}

انتاج:

المضي قدمًا في هذه المقالة حول مولد الأرقام والسلسلة العشوائية في جافا

فئة Java.util.concurrent.ThreadLocalRandom

تم تقديم هذه الفئة في جافا 1.7 لتوليد أعداد عشوائية من الأعداد الصحيحة من نوع البيانات ، والمضاعفات ، والمنطقية ، إلخ.
مثال 1:

// برنامج جافا لتوضيح عمل ThreadLocalRandom // لتوليد أرقام عشوائية. import java.util.concurrent.ThreadLocalRandom public class Main {public static void main (String args []) {// توليد أعداد صحيحة عشوائية في النطاق من 0 إلى 99 int int2 = ThreadLocalRandom.current (). nextInt () // طباعة عدد صحيح عشوائي System.out.println ('Random Integers:' + int2) // Generating Random doubles double dub1 = ThreadLocalRandom.current (). nextDouble () double dub2 = ThreadLocalRandom.current (). nextDouble () // طباعة عشوائية مزدوجة النظام. out.println ('أزواج عشوائية:' + dub1) System.out.println ('زوجي عشوائي:' + dub2)}}

انتاج:

المثال الثاني:

// برنامج Java لإثبات عمل ThreadLocalRandom // لتوليد أرقام عشوائية. import java.util.concurrent.ThreadLocalRandom public class Main {public static void main (String args []) {// Generating random booleans boolean bool1 = ThreadLocalRandom.current (). nextBoolean () boolean bool2 = ThreadLocalRandom.current (). nextBoolean () // طباعة منطقية عشوائية System.out.println ('منطقية عشوائية:' + bool1) System.out.println ('منطقية عشوائية:' + bool2)}}

انتاج:

المضي قدمًا في هذه المقالة حول مولد الأرقام والسلسلة العشوائية في جافا

توليد سلسلة عشوائية في Java

يمكننا إنشاء سلسلة أبجدية رقمية عشوائية باستخدام الطرق التالية:

المضي قدمًا في هذه المقالة حول مولد الأرقام والسلسلة العشوائية في جافا

باستخدام الرياضيات . عشوائي ( )

يوجد أدناه مثال لفهم المفهوم بطريقة أفضل.

// برنامج Java ينشئ سلسلة AlphaNumeric عشوائية // باستخدام طريقة Math.random () فئة عامة رئيسية {// حدد وظيفة لإنشاء سلسلة عشوائية بطول n سلسلة ثابتة RequiredString (int n) {// اختيار حرف عشوائي من سلسلة السلسلة AlphaNumericString = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + '0123456789' + 'abcdefghijklmnopqrstuvxyz' // إنشاء حجم StringBuffer لـ AlphaNumericString StringBuilder s = جديد y لـ String y for (n) int

انتاج:

المضي قدمًا في هذه المقالة حول مولد الأرقام والسلسلة العشوائية في جافا

باستخدام CharSet

علينا استخدام حزمة مختلفة هنا ، مثل حزمة java.nio.charset.
يوجد أدناه مثال مصور.

// يُنشئ برنامج Java سلسلة AlphaNumeric String عشوائية // باستخدام CharSet import java.util. * import java.nio.charset. * class Main {static String RequiredString (int n) {// length Statement byte [] array = new byte [256] Random () جديد. nextBytes (array) String randomString = سلسلة جديدة (مصفوفة ، Charset.forName ('UTF-8')) // إنشاء StringBuffer StringBuffer ra = new StringBuffer () // إلحاق أول 20 حرفًا أبجديًا رقميًا لـ (int i = 0 i = 'a' && ch = 'A' && ch = '0' && ch 0)) {ra.append (ch) n--}} // إرجاع السلسلة الناتجة إلى ra.toString ()} public static void main (String [] args) {// حجم السلسلة الأبجدية الرقمية العشوائية int n = 10 // احصل على السلسلة الأبجدية الرقمية وعرضها System.out.println (RequiredString (n))}}

انتاج:

المضي قدمًا في هذه المقالة حول مولد الأرقام والسلسلة العشوائية في جافا

استخدام التعبيرات العادية

التنفيذ هو المثال التالي.

// يقوم برنامج Java بإنشاء سلسلة AlphaNumeric عشوائية // باستخدام طريقة التعابير العادية import java.util. * import java.nio.charset. * class Main {static String getAlphaNumericString (int n) {// length statement byte [] array = بايت جديد [256] Random () جديد. nextBytes (مجموعة) String randomString = سلسلة جديدة (مصفوفة ، Charset.forName ('UTF-8')) // إنشاء StringBuffer StringBuffer ra = new StringBuffer () // إزالة كل المكاني char String AlphaNumericString = randomString .replaceAll ('[^ A-Za-z0-9]'، '') // إلحاق أول 20 حرفًا أبجديًا رقميًا // من السلسلة العشوائية التي تم إنشاؤها في النتيجة لـ (int k = 0 k 0) || Character.isDigit (AlphaNumericString.charAt (k)) && (n> 0)) {ra.append (AlphaNumericString.charAt (k)) n--}} // إرجاع السلسلة الناتجة إرجاع ra.toString ()} public static void main (String [] args) {// حجم السلسلة الأبجدية الرقمية العشوائية int n = 15 // احصل على السلسلة الأبجدية الرقمية وعرضها System.out.println (getAlphaNumericString (n))}}

انتاج:

وهكذا وصلنا إلى نهاية هذا المقال. إذا كنت ترغب في معرفة المزيد ، تحقق من بواسطة Edureka ، شركة تعليمية موثوقة عبر الإنترنت. تم تصميم دورة تدريب وإصدار شهادات Java J2EE و SOA من Edureka لتدريبك على مفاهيم Java الأساسية والمتقدمة جنبًا إلى جنب مع العديد من أطر Java مثل Hibernate & Spring.

لديك سؤال لنا؟ يرجى ذكر ذلك في قسم التعليقات في هذه المدونة وسنعاود الاتصال بك في أقرب وقت ممكن.