יצירת מספרים אקראיים בטווח ב- Java

1. סקירה כללית

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

2. יצירת מספרים אקראיים בטווח

2.1. מתמטיקה. אקראית

ה מתמטיקה. אקראי נותן אקראי לְהַכפִּיל ערך שגדול או שווה ל- 0.0 ופחות מ- 1.0.

בואו נשתמש ב- מתמטיקה. אקראית שיטה ליצירת מספר אקראי בטווח נתון:

public int getRandomNumber (int min, int max) {return (int) ((Math.random () * (max - min)) + min); }

מדוע זה עובד? ובכן, בואו נסתכל מה קורה מתי מתמטיקה. אקראית מחזירה 0.0, זו התפוקה הנמוכה ביותר האפשרית:

0.0 * (מקסימום - דקה) + דקה => דקה

אז המספר הנמוך ביותר שנוכל להשיג הוא דקה

אם מתמטיקה. אקראי מחזיר 1.0, זה התפוקה הגבוהה ביותר האפשרית, ואז נקבל:

1.0 * (מקסימום - דקה) + דקה => מקסימום - דקה + דקה => מקסימום

אז המספר הגבוה ביותר שנוכל להשיג הוא מקסימום

בואו נראה את אותו דפוס שחוזר על עצמו עם אקראי # nextInt בסעיף הבא.

2.2. java.util.Random.nextInt

מופע של java.util.Random יכול לשמש גם כדי לעשות את אותו הדבר.

בואו נעשה שימוש ב- java.util.Random.nextInt שיטה לקבל מספר אקראי:

public int getRandomNumberUsingNextInt (int min, int max) {אקראי = אקראי חדש (); החזר random.nextInt (max - min) + min; }

ה דקה הפרמטר (המקור) כולל, ואילו מקסימום, הכבול, הוא בלעדי

2.3. java.util.Random.ints

ה java.util.Random.ints שיטה מחזירה IntStream של מספרים שלמים אקראיים.

אז נוכל להשתמש ב- java.util.Random.ints שיטה ולהחזיר מספר אקראי:

public int getRandomNumberUsingInts (int min, int max) {אקראי אקראי = אקראי חדש (); החזר random.ints (min, max) .findFirst () .getAsInt (); }

גם כאן, המקור שצוין דקה הוא כולל ו מקסימום הוא בלעדי.

3. מסקנה

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

קטעי קוד, כמו תמיד, ניתן למצוא באתר GitHub.