יצירת מספרים אקראיים בטווח ב- 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.