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

โปรแกรม Java สร้างตัวเลขสุ่มในช่วงที่กำหนดและเก็บในลิสต์

ตัวอย่างโค้ด

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+ สามารถใช้ RandomGenerator interface แทน Random ได้
  • สำหรับการสุ่มจำนวนมาก ควรใช้ลูปแทนการเขียนซ้ำ

ตัวอย่างปรับปรุงด้วยลูป

List list = new ArrayList<>(); 
for (int i = 0; i < 5; i++) { 
    list.add(myRand.nextInt(1000)); 
}