วิธีสร้าง Java Random Number
5. 7. 22. สำหรับมนุษย์อย่างเรา การสร้างตัวเลขสุ่มเป็นเรื่องง่าย สิ่งที่เราต้องทำคือถามตัวเองถึงตัวเลข และหมายเลขหนึ่งก็ผุดขึ้นในใจเรา
ถ้ามันง่ายในการเขียนโปรแกรมใช่ไหม? ใน Java การสร้างตัวเลขสุ่มเป็นเรื่องง่าย ถ้าคุณรู้วิธี
ในคู่มือนี้ เราจะพูดถึงสามวิธีที่คุณสามารถใช้สร้างตัวเลขสุ่มได้ เราจะอธิบายตัวอย่างการทำงานของแต่ละวิธีในบริบทของเกมเดาตัวเลข
การสร้างตัวเลขสุ่ม
เราทุกคนเคยเล่นหนึ่งในเกมเหล่านั้นที่ขอให้คุณเดาตัวเลขในบางจุด บางคนถึงกับให้รางวัลหากคุณทายถูก สำหรับคู่มือนี้ เราจะสร้างเกมเดาตัวเลขในภาษาจาวา
ขั้นตอนแรกคือการสร้างตัวเลขสุ่ม หากไม่มีตัวเลขสุ่ม เกมของเราคงไม่สนุกนัก มาดูวิธีการแต่ละวิธีในการทำเช่นนี้กัน
การใช้คลาสสุ่ม
Java มีคลาสที่มีประโยชน์ที่เรียกว่า "สุ่ม" ซึ่งคุณสามารถใช้เพื่อสร้างตัวเลขสุ่ม เราจะเริ่มเกมเดาตัวเลขโดยใช้ java.util.Random
คลาสเพื่อสร้างกระแสของตัวเลขสุ่ม:
import java.util.Random; class Main { public static void main(String args[]) { Random random_number_generator = new Random(); int random_number = random_number_generator.nextInt(25); System.out.println(random_number); } }
เมื่อเราเรียกใช้คลาสนี้สามครั้ง จะมีการสร้างตัวเลขสุ่มสามตัว:
22 15 19
เราเริ่มต้นด้วยการนำเข้าคลาส java.util.Random
. จากนั้น เราได้สร้างอินสแตนซ์ของคลาสนี้ชื่อ “random_number_generator” เมื่อใช้ตัวอย่างนี้ เราสามารถสร้างตัวเลขสุ่มได้
81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้
ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก
nextInt()
วิธีช่วยให้เราสามารถสร้างตัวเลขสุ่มระหว่างช่วง 0 และตัวเลขอื่นที่ระบุ ด้านบน เราระบุหมายเลข 25 ซึ่งหมายความว่าตัวเลขทั้งหมดที่ตัวสร้างของเราจะส่งกลับจะอยู่ระหว่าง 0 ถึง 25
ใช้ Math.random()
วิธี Math.random() ใช้เวลานานขึ้นเล็กน้อยในการใช้งาน แต่ก็ยังเป็นวิธีที่ดีในการสร้างตัวเลขสุ่ม มาสร้างลำดับการสร้างตัวเลขสุ่มโดยใช้ Math.random()
:
class Main { public static void main(String args[]) { int small = 0; int large = 25; int random_number = (int)(Math.random() * (large - small + 1) + small); System.out.println(random_number); } }
Math.random()
มาใน Java ซึ่งหมายความว่าเราไม่ต้องนำเข้าในโค้ดของเรา
เราเริ่มต้นด้วยการประกาศตัวแปรสองตัว “เล็ก” ระบุขอบเขตล่างด้านล่างซึ่งไม่ควรสร้างตัวเลข “ใหญ่” คือขอบเขตบนด้านบนซึ่งไม่ควรสร้างตัวเลข
จากนั้นเราใช้สูตรเพื่อสร้างตัวเลขสุ่ม ทั้งนี้เป็นเพราะ Math.random()
ในตัวมันเองไม่ส่งคืนตัวเลขสุ่มทั้งหมด วิธี Math.random ส่งกลับตัวเลขสุ่มระหว่าง 0.0 ถึง 1.0 เราต้องใช้สูตรข้างต้นเพื่อแปลงเป็นจำนวนเต็มที่อยู่ในช่วงของเรา
เมื่อเรารันโค้ดของเราสามครั้ง จะมีการสร้างตัวเลขสุ่มสามตัว:
2 1 9
การใช้ ThreadLocalRandom
ThreadLocalRandom เป็นคลาสที่คุณสามารถใช้สร้างตัวเลขสุ่มได้
คลาสนี้ดีที่สุดที่จะใช้เมื่อคุณต้องการสร้างตัวเลขสุ่มหลายตัวพร้อมกัน โดยปกติจะเกิดขึ้นในสภาพแวดล้อมแบบมัลติเธรด
มาสร้างเครื่องกำเนิดตัวเลขสุ่มโดยใช้วิธีนี้:
import java.util.concurrent.ThreadLocalRandom; class Main { public static void main(String args[]) { int small = 0; int large = 25; ThreadLocalRandom random_number_generator = ThreadLocalRandom.current(); int random_number = random_number_generator.nextInt(small, large); System.out.println(random_number); } }
เราเริ่มต้นด้วยการนำเข้าไลบรารี ThreadLocalRandom ที่มีคลาสที่เราใช้เพื่อสร้างตัวเลขสุ่ม จากนั้นเราได้ระบุตัวแปรสองตัวซึ่งกำหนดขอบเขตล่างและบนสำหรับตัวสร้างตัวเลขสุ่มของเรา
เราได้ประกาศตัวแปรที่เรียกว่า random_number_generator ซึ่งอ้างอิงคลาส ThreadLocalRandom จากนั้นเราก็ใช้ nextInt()
เมธอดและระบุตัวแปร "เล็ก" และ "ใหญ่" เป็นอาร์กิวเมนต์เพื่อสร้างตัวเลขสุ่ม
การดำเนินการโปรแกรมของเราสามครั้งจะส่งกลับตัวเลขสุ่มสามตัว:
4 23 15
ตอนนี้เราพร้อมที่จะเริ่มสร้างเกมเดาส่วนที่เหลือแล้ว
การสร้างตรรกะการเดา
ตอนนี้เรารู้วิธีสร้างตัวเลขสุ่มแล้ว ขั้นตอนต่อไปในการสร้างเกมของเราคือการสร้างตรรกะที่ช่วยให้ผู้ใช้สามารถเดาตัวเลขสุ่มได้
คุณสามารถใช้ตัวอย่างใดๆ ข้างต้นกับโค้ดนี้เพื่อให้ใช้งานได้ ชื่อตัวแปรในข้อมูลโค้ดของเราได้รับการตั้งค่าเพื่อให้เข้ากันได้กับตัวอย่างด้านล่าง
เริ่มต้นด้วยการใช้คลาส “สแกนเนอร์” เพื่อขอให้ผู้ใช้เดาตัวเลข:
import java.util.Scanner; class Main { public static void main(String[] args) { // Guessing code goes here Scanner guess = new Scanner(System.in); System.out.println("Guess a number between 1 and 25: "); int user_guess = guess.nextInt(); } }
รหัสนี้ขอให้ผู้ใช้ของเรา “เดาตัวเลขระหว่าง 1 ถึง 25:” ค่าที่ผู้ใช้ป้อนลงในคอนโซล Java จะถูกเก็บไว้เป็นตัวแปร “user_guess”
จากนั้นเราจะเขียนคำสั่ง if เพื่อตรวจสอบว่าตัวเลขที่ผู้ใช้เดานั้นเท่ากับจำนวนที่โปรแกรมของเราสร้างขึ้นหรือไม่:
... if (user_guess == random_number) { System.out.println("You have correctly guessed the number!"); } else { System.out.println("Your guess is incorrect!"); }
เรียกใช้โปรแกรมของเราและพิมพ์ตัวเลขระหว่าง 1 ถึง 25:
Guess a number between 1 and 25: 7 Your guess is incorrect!
หากเราเดาตัวเลขถูกต้อง โปรแกรมของเราจะส่งกลับค่าต่อไปนี้:
Guess a number between 1 and 25: 9 You have correctly guessed the number!
ด้วยรหัสเพียงไม่กี่บรรทัด เราจึงสามารถสร้างเกมที่สร้างตัวเลขสุ่มเพื่อคาดเดาได้สำเร็จ
บทสรุป
ตัวเลขสุ่มมีประโยชน์มากมายในการเขียนโปรแกรม ในตัวอย่างนี้ เราได้อธิบายวิธีการใช้ตัวเลขสุ่มกับเกมการเดา
มีสามวิธีที่คุณสามารถใช้เพื่อสร้างตัวเลขสุ่ม:
- การใช้คลาสสุ่ม
- การใช้
Math.random()
. ในตัว วิธีการ - การใช้คลาส ThreadLocalRandom
คุณกำลังมองหาสิ่งที่ท้าทาย? เปลี่ยนรหัสเกมเดาของเราเพื่อให้คุณสามารถเดาได้หลายครั้ง