TỔNG QUAN
CẤU TRÚC ĐIỀU KHIỂN
VÒNG LẶP
CHUỖI VÀ MẢNG
COLLECTIONS
THƯ VIỆN QUAN TRỌNG
HƯỚNG ĐỐI TƯỢNG
XỬ LÝ LUỒNG
EXCEPTION
LÀM VIỆC VỚI FILE
THAM KHẢO
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Thư viện xử lý số ngẫu nhiên Random trong Java

Trong bài trước, tôi đã đưa ra một bài tập sinh số ngẫu nhiên có kiểu dữ liệu là double bằng cách sử dụng phương thức Math.random(). Trong bài này, chúng ta sẽ cùng nhau tìm hiểu cách sinh số ngẫu nhiên khác đó là sử dụng thư viện xử lý số ngẫu nhiên Random trong Java. Cuối bài này, tôi sẽ đưa ra một số bài tập để các bạn luyện tập!

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

1. Tạo mới 1 Random

Như chúng ta đã biết, phương thức Math.random() của thư viện xử lý toán học Math chỉ được dùng để sinh số ngẫu nhiên có kiểu dữ liệu là double, thì đối với thư viện xử lý số ngẫu nhiên Random của Java chúng ta có thể sinh các giá trị ngẫu nhiên có kiểu dữ liệu là int, float, double, long, boolean.

Để khai báo 1 Random, chúng ta sẽ import gói thư viện java.util.Random của Java. Cú pháp tạo mới 1 đối tượng Random như sau:

Bài viết này được đăng tại [free tuts .net]

Cú pháp
// Khai báo Random
// thì import gói thư viện java.util.Random
import java.util.Random;
public class TênClass {
	// Tạo mới 1 đối tượng Random
	// sử dụng từ khóa new
	Random rd = new Random();
}

Sau đây chúng ta sẽ cùng nhau tìm hiểu các phương thức phổ biến của thư viện này.

2. Các phương thức của Random

Phương thức nextInt()

Phương thức nextInt() sẽ trả về 1 số ngẫu nhiên có kiểu int.

Cú pháp
Random rd = new Random();
int number = rd.nextInt();	// trả về 1 số nguyên bất kỳ
int number1 = rd.nextInt(int n);	// trả về 1 số nguyên nằm trong phạm vi [0...n-1]

Ví dụ
public static void main(String[] args) {
	Random rd = new Random();	// khai báo 1 đối tượng Random
	int number = rd.nextInt();	// trả về 1 số nguyên bất kỳ
	System.out.println("Số vừa được sinh ra là " + number);
		
	int number1 = rd.nextInt(4);	// trả về 1 số nguyên nằm trong phạm vi [0...3)
	System.out.println("Số vừa được sinh ra là " + number1);
		
	// trả về 1 số nguyên nằm trong phạm vi [-4...-1]
	// đối với rd.nextInt(4) thì số lớn nhất là 3 và số nhỏ nhất là 0
	// ta có 3 - 4 = -1 và 0 - 4 = -4
	// nên các số được sinh ra sẽ nằm trong đoạn [-4...-1]
	int number2 = -4 + rd.nextInt(4);	
	System.out.println("Số vừa được sinh ra là " + number2);
}

Kết quả sau khi biên dịch chương trình (kết quả của mỗi lần biên dịch chương trình sẽ khác nhau):

ketqua vi du sinh so ngau nhien co kieu int random PNG

Phương thức nextFloat()

Phương thức nextFloat() sẽ trả về 1 số ngẫu nhiên có kiểu float nằm trong phạm vi [0.0f...1.0f).

Cú pháp
Random rd = new Random();
float floatNumber = rd.nextFloat();	// trả về 1 số bất kỳ có kiểu là float

Ví dụ
public static void main(String[] args) {
	Random rd = new Random();	// khai báo 1 đối tượng Random
	float floatNumber = rd.nextFloat();	// trả về 1 số bất kỳ có kiểu là float
	System.out.println("Số vừa được sinh ra là " + floatNumber);
}

Kết quả sau khi biên dịch chương trình (kết quả của mỗi lần biên dịch chương trình sẽ khác nhau):

ketqua vi du sinh so ngau nhien co kieu float random PNG

Phương thức nextDouble()

Phương thức nextDouble() sẽ trả về 1 số ngẫu nhiên có kiểu double nằm trong phạm vi [0.0d...1.0d).

Cú pháp
Random rd = new Random();
// trả về 1 số bất kỳ có kiểu là double
double doubleNumber = rd.nextDouble();	


Ví dụ
public static void main(String[] args) {
	Random rd = new Random();	// khai báo 1 đối tượng Random
		
	// trả về 1 số bất kỳ có kiểu là double
	double doubleNumber = rd.nextDouble();	
	System.out.println("Số vừa được sinh ra là " + doubleNumber);
}

Kết quả sau khi biên dịch chương trình (kết quả của mỗi lần biên dịch chương trình sẽ khác nhau):

ketqua vi du sinh so ngau nhien co kieu double random PNG

Phương thức nextLong()

Phương thức nextLong() sẽ trả về 1 số ngẫu nhiên có kiểu long.

Cú pháp
Random rd = new Random();	// khai báo 1 đối tượng Random	
// trả về 1 số bất kỳ có kiểu long
long longNumber = rd.nextLong();


Ví dụ
public static void main(String[] args) {
	Random rd = new Random();	// khai báo 1 đối tượng Random
		
	// trả về 1 số bất kỳ có kiểu long
	long longNumber = rd.nextLong();
	System.out.println("Số vừa được sinh ra là " + longNumber);
}

Kết quả sau khi biên dịch chương trình (kết quả của mỗi lần biên dịch chương trình sẽ khác nhau):

ketqua vi du sinh so ngau nhien co kieu long random PNG

Phương thức nextBoolean()

Phương thức nextBoolean() sẽ trả về 1 biến ngẫu nhiên có giá trị là true hoặc false.

Cú pháp
Random rd = new Random();	// khai báo 1 đối tượng Random	
// trả về 1 biến bool có giá trị là true hoặc false.
boolean bool = rd.nextBoolean();


Ví dụ
public static void main(String[] args) {
	Random rd = new Random();	// khai báo 1 đối tượng Random
		
	// trả về 1 biến bool có giá trị là true hoặc false.
	boolean bool = rd.nextBoolean();
	System.out.println("Giá trị của biến bool là " + bool);
}

Kết quả sau khi biên dịch chương trình:

ketqua vi du sinh gia tri ngau nhien co kieu boolean random PNG

3. Lời kết

Trong bài này, tôi đã hướng dẫn các bạn tìm hiểu về thư viện xử lý số ngẫu nhiên Random trong Java và tôi cũng đã đưa ra một số ví dụ minh họa các phương thức của thư viện này. Sang bài này, chúng ta sẽ tìm hiểu thư viện cuối cùng - đó là thư viện xử lý chuỗi trong Java. Các bạn theo dõi nhé!

Câu hỏi thường gặp liên quan:

Cùng chuyên mục:

Sử dụng JUnit để tạo unit test trong Spring Boot

Sử dụng JUnit để tạo unit test trong Spring Boot

Cách triển khai Spring Boot trên Tomcat Server

Cách triển khai Spring Boot trên Tomcat Server

Cách test RESTful API trong Spring Boot

Cách test RESTful API trong Spring Boot

Cách dùng Spring Security trong Spring Boot để xác thực và phân quyền

Cách dùng Spring Security trong Spring Boot để xác thực và phân quyền

Duyệt cây nhị phân bằng phương pháp inOder trong Java

Duyệt cây nhị phân bằng phương pháp inOder trong Java

Xóa node của cây nhị phân tìm kiếm trong Java

Xóa node của cây nhị phân tìm kiếm trong Java

Bảo mật Spring Boot RESTful Service sử dụng Basic Authentication trong Java

Bảo mật Spring Boot RESTful Service sử dụng Basic Authentication trong Java

Xác định đường biên(boundary traversal) của cây nhị phân trong Java

Xác định đường biên(boundary traversal) của cây nhị phân trong Java

Xác định các lá của binary tree sử dụng preoder trong Java

Xác định các lá của binary tree sử dụng preoder trong Java

Tìm kiếm node của cây nhị phân tìm kiếm trong Java

Tìm kiếm node của cây nhị phân tìm kiếm trong Java

Cách chuyển HTTP sang HTTPS trong Spring Boot

Cách chuyển HTTP sang HTTPS trong Spring Boot

Triển khai cây nhị phân từ danh sách liên kết trong Java

Triển khai cây nhị phân từ danh sách liên kết trong Java

Cách tạo ra Mirror Tree từ Binary Tree bằng ngôn ngữ Java

Cách tạo ra Mirror Tree từ Binary Tree bằng ngôn ngữ Java

Sử dụng @bean trong ứng dụng Spring Boot

Sử dụng @bean trong ứng dụng Spring Boot

Spring Data JPA trong Spring Boot là gì? Spring Data JPA có gì hay?

Spring Data JPA trong Spring Boot là gì? Spring Data JPA có gì hay?

Giới thiệu về Spring Boot Actuator trong ứng dụng Spring Boot

Giới thiệu về Spring Boot Actuator trong ứng dụng Spring Boot

Tính tổng số cây nhị phân tìm kiếm có thể được tạo ra bởi N nodes trong Java

Tính tổng số cây nhị phân tìm kiếm có thể được tạo ra bởi N nodes trong Java

Tìm phần tử nhỏ nhất của cây nhị phân trong Java

Tìm phần tử nhỏ nhất của cây nhị phân trong Java

Sử dụng nhiều ViewResolver trong Spring Boot Java

Sử dụng nhiều ViewResolver trong Spring Boot Java

Tìm khoảng cách lớn nhất giữa các node của cây nhị phân trong Java

Tìm khoảng cách lớn nhất giữa các node của cây nhị phân trong Java

Top