ตัวอย่างโค้ด
import java.util.Random;
import java.util.*;
public class Demo {
public static void main(String args[]) {
Random myRand = new Random();
List myList1 = new ArrayList<>();
int v1 = myRand.nextInt(1000);
int v2 = myRand.nextInt(967);
int v3 = myRand.nextInt(1050);
int v4 = myRand.nextInt(10000);
int v5 = myRand.nextInt(100);
myList1.add(v1);
myList1.add(v2);
myList1.add(v3);
myList1.add(v4);
myList1.add(v5);
System.out.println("ค่าสุ่มในลิสต์คือ: ");
for (int i = 0; i < myList1.size(); i++)
System.out.print(myList1.get(i) + " ");
}
}
ผลลัพธ์ (ตัวอย่าง)
ค่าสุ่มในลิสต์คือ: 677 230 763 1695 48
คำอธิบาย
คลาส Demo สร้างอินสแตนซ์ของ Random และ ArrayList จากนั้นใช้เมธอด nextInt(bound) เพื่อสร้างตัวเลขสุ่มในช่วง 0 ถึง bound-1
ตัวเลขสุ่ม 5 ค่า ถูกเก็บในตัวแปร แล้วเพิ่มเข้าไปในลิสต์ด้วยเมธอด add สุดท้ายวนลูปพิมพ์ค่าทั้งหมดในลิสต์ออกมา
ข้อสังเกตและปรับปรุง
nextInt(n)สุ่มค่าระหว่าง 0 ถึง n-1 (ไม่รวม n)- ในตัวอย่างแต่ละตัวแปรใช้ bound ต่างกัน หากต้องการช่วงเดียวกันควรใช้ค่า bound เดียวกัน
- Java 17+ สามารถใช้
RandomGeneratorinterface แทนRandomได้ - สำหรับการสุ่มจำนวนมาก ควรใช้ลูปแทนการเขียนซ้ำ
ตัวอย่างปรับปรุงด้วยลูป
Listlist = new ArrayList<>(); for (int i = 0; i < 5; i++) { list.add(myRand.nextInt(1000)); }