เพื่อสร้างจำนวนเต็มสุ่มระหว่าง [min,max]
แพ็คเกจ edu.sjtu.erplab.io; นำเข้า java.util.Random; คลาสสาธารณะ RandomTest { สาธารณะ static void main (String [] args) { int max = 20; int min = 10; Random Random = new Random (); s = Random.nextInt(สูงสุด)%(สูงสุด-นาที+1) + นาที; System.out.println(s); }}
Random.nextInt(max) หมายถึงการสร้างตัวเลขสุ่มระหว่าง [0,max] จากนั้นใช้โมดูโล (max-min+1)
ยกตัวอย่างการสร้างตัวเลขสุ่ม [10,20] ขั้นแรกให้สร้างตัวเลขสุ่มตั้งแต่ 0-20 จากนั้นใช้โมดูโล (20-10+1) เพื่อให้ได้ตัวเลขสุ่มระหว่าง [0-10] แล้วบวก min=10 จำนวนสุ่มสุดท้ายที่สร้างขึ้นคือ 10-20
สร้างตัวเลขสุ่มระหว่าง 0 ถึง 2 รวมถึง 2
สุ่ม rand = สุ่มใหม่ ();int randNum = rand.nextInt(3);
สร้างตัวเลขสุ่มระหว่าง 5 ถึง 26 รวมถึง 26
int randNum = rand.nextInt(22)+5;
ในที่ทำงานหลายแห่ง คุณจะต้องเผชิญกับความจำเป็นในการสุ่มตัวเลขภายในช่วงที่กำหนด การใช้ฟังก์ชันโดยตรงใน API ที่ Java ให้มานั้นไม่เพียงพอ และจำเป็นต้องเปลี่ยนแปลงบางอย่าง
ตัวอย่าง: สร้างตัวเลขสุ่ม 10 ตัวภายในช่วงที่ระบุ
คลาสสาธารณะ RandomTest { สาธารณะคงโมฆะ main (String [] args) { int max = 10; int min = 2; // สร้างตัวเลขสุ่ม 10 ตัวในช่วงที่ระบุ Random Random = new Random (); i<10; i++){ int n = Random.nextInt(max-min+1)+min; System.out.print(n+" "); } System.out.println(); for(int i=0; i<10; i++){ int n = (int)(Math.random()*(max-min+1)+min); System.out.print(n+" "); }}
เพื่อสร้างจำนวนเต็มสุ่มระหว่าง [min,max]
นำเข้า java.util.Random; RandomTest สาธารณะ คงเป็นโมฆะ main (String [] args) { int min = 10; int max = 20; Random Random = new Random (); // int s = Random.nextInt (max )%(สูงสุด-นาที+1) + นาที;