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

Java Random Number:A Beginner's Guide

วิธีสร้าง 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

คุณกำลังมองหาสิ่งที่ท้าทาย? เปลี่ยนรหัสเกมเดาของเราเพื่อให้คุณสามารถเดาได้หลายครั้ง