כיצד להתמודד עם מספר אקראי ומחולל מחרוזות בג'אווה?



מאמר זה יציג בפניכם את מחולל מספרים ומחרוזות אקראיים בג'אווה ויעקוב אחריו באמצעות הדגמה פרוגרמטית.

מאמר זה יכיר לכם מספר אקראי ומחולל מחרוזות בג'אווה ובצע אותו במפגן פרוגרמטי. המצביעים הבאים יוסקרו במאמר זה,

ישנן שלוש שיטות להפקת מספרים אקראיים ב- Java באמצעות שיטות ושיעורים מובנים.





  • מחלקה אקראית Java.util
  • שיטת מתמטיקה אקראית
  • ThreadLocalRandom בכיתה

בואו נתחיל במאמר בנושא מספר אקראי ומחולל מחרוזות בג'אווה,

ג'אווה .מוֹעִיל. אַקרַאִי

קודם כל, עלינו ליצור מופע של מחלקה זו בתוכנית ואז להפעיל את השיטות המובנות השונות כגון nextInt (), nextDouble () וכו 'באמצעות המופע שיצרנו.
ניתן ליצור מספרים אקראיים של מספרים שלמים מסוג צף, כפול, ארוך, בוליאני באמצעות מחלקה זו.
ניתן להעביר טיעונים לשיטות להגדרת הגבול העליון שאליו ייצור המספר. לדוגמא, nextInt (4) יפיק מספרים בטווח 0 עד 3 (שניהם כולל).



דוגמה 1:

// תוכנית Java המציגה יצירת מספרים אקראיים // באמצעות java.util.Random יבוא java.util.Random public class ראשי {public public static void main (String args []) {// יצירת מופע של מחלקה אקראית Rand Rand = אקראי חדש () // יצירת מספרים שלמים אקראיים בטווח 0 עד 99 int int1 = rand.nextInt (100) int int2 = rand.nextInt (100) // הדפסת מספרים שלמים אקראיים System.out.println ('מספרים אקראיים:>' + int1) System.out.println ('מספרים אקראיים:>' + int2) // יצירת כפילים אקראיים כפולים כפול dub1 = rand.nextDouble () כפול dub2 = rand.nextDouble () // הדפסה כפולה אקראית System.out.println (' זוגות אקראיים:> '+ dub1) System.out.println (' זוגות אקראיים:> '+ dub2)}}

תְפוּקָה:

מספר אקראי ופלט ומחולל מחרוזות בג



דוגמא:

// תוכנית Java כדי להראות יצירת מספרים אקראיים // באמצעות java.util.Random יבוא java.util.Random public class ראשי {public static void main (String args []) {// יצירת מופע של מחלקה אקראית Rand Rand = new אקראי () // יצירת מספרים שלמים אקראיים בטווח 0 עד 9 int int1 = rand.nextInt (10) // הדפסת מספר שלם אקראי System.out.println ('שלם אקראי:>' + int1)}}

תְפוּקָה:

ממשיכים במאמר זה

מתמטיקה . אַקרַאִי ( )

הכיתה בשם מתמטיקה כוללת שיטות שונות לביצוע מספר פעולות מספריות שונות הכוללות לוגריתמים, פתרון אקספוננציאציה וכו '. בין פעולות אלה יש אקראי () המשמש ליצירת מספרים אקראיים מסוג כפולות בטווח של 0.0 ל 1.0 . שיטה זו מחזירה ערך כפול שגדול או שווה ל- 0.0 ופחות או שווה ל 1.0 יחד עם סימן חיובי. הערכים המוחזרים על ידי אקראי () נבחרים באופן אקראי על ידי המכונה.

דוגמה 1:

// תוכנית Java להפגנת עבודה של // Math.random () ליצירת מספרים אקראיים ייבוא ​​java.util. * מחלקה ציבורית ראשי {public static void main (String args []) {// יצירת ערך אקראי של סוג הנתונים כפול System.out.println ('ערך אקראי:' + Math.random ())}}

תְפוּקָה:

כדי לבדוק את האקראיות מאפשר להפעיל את התוכנית פעם נוספת.

// תוכנית Java להפגנת עבודה של // Math.random () ליצירת מספרים אקראיים ייבוא ​​java.util. * מחלקה ציבורית ראשי {public static void main (String args []) {// יצירת ערך אקראי של סוג הנתונים כפול System.out.println ('עוד ערך אקראי:' + Math.random ())}}

תְפוּקָה:

ממשיך הלאה עם מאמר זה על מספר אקראי ומחולל מחרוזות בג'אווה

מחלקה Java.util.concurrent.ThreadLocalRandom

מחלקה זו הוצגה ב- Java 1.7 ליצירת מספרים אקראיים של מספרים שלמים מסוג נתונים, זוגות, בוליאנים וכו '.
דוגמה 1:

// תוכנית Java להדגמת עבודה של ThreadLocalRandom // ליצירת מספרים אקראיים. ייבא java.util.concurrent.ThreadLocalRandom class class ראשי {public static void main (String args []) {// יצירת מספרים שלמים אקראיים בטווח 0 עד 99 int int2 = ThreadLocalRandom.current (). nextInt () // הדפסת מספר שלם אקראי System.out.println ('מספרים אקראיים:' + int2) // יצירת כפילים אקראיים כפולים כפול dub1 = ThreadLocalRandom.current (). NextDouble () כפול dub2 = ThreadLocalRandom.current (). NextDouble () // הדפסת מערכת כפולות אקראית. out.println ('זוגות אקראיים:' + dub1) System.out.println ('זוגות אקראיים:' + dub2)}}

תְפוּקָה:

דוגמה 2:

// תוכנית Java להדגמת עבודה ב- ThreadLocalRandom // להפקת מספרים אקראיים. ייבא java.util.concurrent.ThreadLocalRandom מחלקה ציבורית ראשי {public static void main (String args []) {// יצירת בוליאנים בוליאניים בוליאניים = ThreadLocalRandom.current (). nextBoolean () בוליאנים בוליאניים = ThreadLocalRandom.current (). nextBoolean () // הדפס בוליאנים אקראיים System.out.println ('בוליאנים אקראיים:' + bool1) System.out.println ('בוליאנים אקראיים:' + bool2)}}

תְפוּקָה:

ממשיך הלאה עם מאמר זה על מספר אקראי ומחולל מחרוזות בג'אווה

יצירת מחרוזת אקראית ב- Java

אנו יכולים ליצור מחרוזת אלפא-נומרית אקראית בשיטות הבאות:

מהו ויזואליזציה של נתונים בתמונה

ממשיך הלאה עם מאמר זה על מספר אקראי ומחולל מחרוזות בג'אווה

שימוש במתמטיקה . אַקרַאִי ( )

להלן דוגמה להבנת המושג בצורה טובה יותר.

// תוכנית Java המייצרת מחרוזת AlphaNumeric אקראית // תוך שימוש בשיטת Math.random () public class ראשי {// מגדירים פונקציה ליצירת מחרוזת אקראית של אורך n סטטי String RequiredString (int n) {// בחר בתו אקראי ממחרוזת מחרוזת זו AlphaNumericString = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + '0123456789' + 'abcdefghijklmnopqrstuvxyz' // צור גודל StringBuffer של AlphaNumericString StringBuilder s = StringBuilder חדש (y) 0 y עבור (

תְפוּקָה:

ממשיך הלאה עם מאמר זה על מספר אקראי ומחולל מחרוזות בג'אווה

באמצעות CharSet

עלינו להשתמש כאן בחבילה אחרת כלומר חבילת java.nio.charset.
להלן דוגמא מאוירת.

// תוכנית Java יוצרת מחרוזת אלפא-נומרית אקראית // תוך שימוש ב- CharSet ייבוא ​​java.util. * ייבוא ​​java.nio.charset. * מחלקה ראשי {סטטי String RequiredString (int n) {// אורך הצהרת אורך [] מערך = בתים חדשים [256] אקראי חדש (). NextBytes (מערך) מחרוזת randomString = מחרוזת חדשה (מערך, Charset.forName ('UTF-8')) // יצירת StringBuffer StringBuffer ra = חדש StringBuffer () // הוספת 20 תווים אלפאנומריים ראשונים עבור (int i = 0 i = 'a' && ch = 'A' && ch = '0' && ch 0)) {ra.append (ch) n--}} // החזרת המחרוזת שהתקבלה החזרת ra.toString ()} ראשי ריק סטטי ציבורי (String [] args) {// גודל מחרוזת אלפאנומרית אקראית int n = 10 // קבל והצג את המחרוזת האלפאנומרית System.out.println (RequiredString (n))}}

תְפוּקָה:

ממשיך הלאה עם מאמר זה על מספר אקראי ומחולל מחרוזות בג'אווה

שימוש בביטויים רגולריים

היישום הוא כדוגמה הבאה.

// תוכנית Java יוצרת מחרוזת אלפא-נומרית אקראית // בשיטת ביטויים רגולריים ייבוא ​​java.util. * ייבא java.nio.charset. * מחלקה ראשי {מחרוזת סטטית getAlphaNumericString (int n) {// הצהרת אורך בתים [] מערך = בית חדש [256] אקראי חדש (). nextBytes (מערך) מחרוזת randomString = מחרוזת חדשה (מערך, Charset.forName ('UTF-8')) // יצירת StringBuffer StringBuffer ra = 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 ()} סטטי ציבורי void main (String [] args) {// גודל מחרוזת אלפאנומרית אקראית n n = 15 // קבל והצג את המחרוזת האלפאנומרית System.out.println (getAlphaNumericString (n))}}

תְפוּקָה:

לפיכך הגענו לסוף מאמר זה. אם ברצונך ללמוד עוד, עיין ב מאת אדוריקה, חברת למידה מקוונת אמינה. קורס ההכשרה וההסמכה של Java J2EE ו- SOA של אדוריקה נועד להכשיר אותך לקונספטים מרכזיים של Java וגם עם מסגרות Java שונות כמו Hibernate & Spring.

יש לך שאלה עבורנו? אנא הזכיר זאת במדור התגובות בבלוג זה ונחזור אליך בהקדם האפשרי.