Rate this post

Trong Java, lớp java.util.Random thường được sử dụng để tạo ra các số ngẫu nhiên. Bạn có thể tạo một thể hiện của lớp và sau đó sử dụng các phương thức như nextInt(), nextDouble() và nextBoolean() để tạo ra các số ngẫu nhiên của các loại khác nhau.

Các bài viết liên quan:

Ví dụ:

import java.util.Random;

Random rand = new Random();
int randomInt = rand.nextInt();
double randomDouble = rand.nextDouble();
boolean randomBoolean = rand.nextBoolean();

Bạn cũng có thể sử dụng phương thức nextInt(int bound) để tạo ra một số nguyên ngẫu nhiên giữa 0 (bao gồm) và giới hạn được chỉ định (loại trừ). Ví dụ:

int randomInt = rand.nextInt(100); // tạo ra một số nguyên ngẫu nhiên giữa 0 và 99

Quan trọng là lớp Random sử dụng một giá trị seed để tạo ra các số ngẫu nhiên, vì thế nếu bạn tạo nhiều thể hiện của Random với cùng một seed, nó sẽ tạo ra cùng một dãy số ngẫu nhiên.

Các ví dụ sử dụng random trong java

Ví dụ 1: Tạo ra một số nguyên ngẫu nhiên trong khoảng từ 1 đến 6 (giống như một quả xúc xắc)

Random rand = new Random();
int randomInt = rand.nextInt(6) + 1;
System.out.println("Random number: " + randomInt);

Ví dụ 2: Tạo ra một mảng số ngẫu nhiên có kích thước 10 và giá trị từ 0 đến 9

Random rand = new Random();
int[] randomArray = new int[10];
for (int i = 0; i < randomArray.length; i++) {
   randomArray[i] = rand.nextInt(10);
}
System.out.println("Random Array: " + Arrays.toString(randomArray));

Ví dụ 3: Tạo ra một chuỗi ngẫu nhiên bằng cách lấy một ký tự ngẫu nhiên từ một chuỗi cụ thể

Random rand = new Random();
String alphabet = "abcdefghijklmnopqrstuvwxyz";
char randomChar = alphabet.charAt(rand.nextInt(alphabet.length()));
System.out.println("Random Char: " + randomChar);

Lưu ý: Một cách tốt hơn để tạo ra số ngẫu nhiên trong một khoảng cụ thể là sử dụng các phương thức của lớp java.util.concurrent.ThreadLocalRandom. Nó cung cấp các phương thức tương tự như Random, nhưng sẽ rất nhanh hơn trong các trường hợp sử dụng trong nhiều luồng.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now