Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

การสุ่มตัวเลขใน Java ด้วย Math.random()

เมธอด Math.random() สร้างเลขสุ่มแบบ pseudorandom ระหว่าง 0.0 ถึง 1.0 (รวม 0 ไม่รวม 1) คืนค่าเป็น double

Java Math Library

คลาส Math มีเมธอดคณิตศาสตร์ต่างๆ ต้อง import ก่อนใช้: import java.lang.Math;

การใช้งานพื้นฐาน

import java.lang.Math;

class Main {
    public static void main(String[] args) {
        double number = Math.random();
        System.out.println("Random number: " + number);
    }
}

ผลลัพธ์: Random number: 0.4728164736886452

สุ่มจำนวนเต็ม (Integer) ในช่วงที่ต้องการ

คูณด้วยช่วงที่ต้องการ แล้วแปลงเป็น int

// สุ่ม 1-10
int number = (int)(Math.random() * 10); // ได้ 0-9

// สุ่ม 1-1000
int number = (int)(Math.random() * 1000);

สุ่มระหว่างค่า min และ max (Custom Method)

class Main {
    public static int generateTicketNumber(int min, int max) {
        int range = (max - min) + 1;
        return (int)(Math.random() * range) + min;
    }
    
    public static void main(String args[]) {
        String customerName = "JohnMcIver";
        int randomNumber = generateTicketNumber(200, 500);
        System.out.println(customerName + randomNumber);
    }
}

ผลลัพธ์: JohnMcIver321

หลักการทำงาน

  1. คำนวณ range = (max - min) + 1
  2. Math.random() * range ได้ 0 ถึง range-1
  3. บวก min เพื่อเลื่อนช่วงให้เริ่มจาก min

สรุป

Math.random() สร้างเลข 0-1 สามารถปรับช่วงได้ด้วยการคูณและบวก สร้างเมธอดเองได้เพื่อสุ่มระหว่าง min-max