เมธอด 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
หลักการทำงาน
- คำนวณ range = (max - min) + 1
Math.random() * rangeได้ 0 ถึง range-1- บวก min เพื่อเลื่อนช่วงให้เริ่มจาก min
สรุป
Math.random() สร้างเลข 0-1 สามารถปรับช่วงได้ด้วยการคูณและบวก สร้างเมธอดเองได้เพื่อสุ่มระหว่าง min-max