Computer >> Máy Tính >  >> Lập trình >> Java

Số ngẫu nhiên trong Java:Hướng dẫn cho người mới bắt đầu

Cách tạo số ngẫu nhiên trong Java

5. 7. 22. Đối với con người chúng ta, thật dễ dàng để tạo ra một số ngẫu nhiên. Tất cả những gì chúng ta phải làm là tự hỏi mình một con số, và một con số hiện ra trong đầu chúng ta.

Giá như nó dễ dàng như vậy trong lập trình, phải không? Trong Java, việc tạo một số ngẫu nhiên rất dễ dàng, nếu bạn biết cách.

Trong hướng dẫn này, chúng ta sẽ thảo luận về ba cách tiếp cận mà bạn có thể sử dụng để tạo một số ngẫu nhiên. Chúng ta sẽ xem xét các ví dụ về cách hoạt động của từng phương pháp trong bối cảnh trò chơi đoán số.

Tạo số ngẫu nhiên

Tất cả chúng ta đều đã chơi một trong những trò chơi yêu cầu bạn đoán một số tại một thời điểm nào đó. Một số người trong số họ thậm chí còn trao giải thưởng nếu bạn đoán đúng. Đối với hướng dẫn này, chúng tôi sẽ tạo một trò chơi đoán số bằng Java.

Tất nhiên, bước đầu tiên là tạo một số ngẫu nhiên. Nếu không có một số ngẫu nhiên, trò chơi của chúng ta sẽ không vui lắm. Hãy cùng tìm hiểu từng phương pháp trong số ba phương pháp mà chúng ta có thể sử dụng để thực hiện việc này.

Sử dụng lớp ngẫu nhiên

Java có một lớp tiện dụng được gọi là “Ngẫu nhiên” mà bạn có thể sử dụng để tạo một số ngẫu nhiên. Chúng ta sẽ bắt đầu trò chơi đoán số của mình bằng cách sử dụng java.util.Random lớp để tạo một dòng số ngẫu nhiên:

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);
	}
}

Khi chúng tôi chạy lớp này ba lần, ba số ngẫu nhiên được tạo:

22
15
19

Chúng tôi đã bắt đầu bằng cách nhập lớp, java.util.Random . Sau đó, chúng tôi đã tạo một phiên bản của lớp này được gọi là “random_number_generator”. Sử dụng ví dụ này, chúng ta có thể tạo các số ngẫu nhiên.

81% người tham gia cho biết họ cảm thấy tự tin hơn về triển vọng công việc công nghệ của mình sau khi tham gia một cuộc thi đào tạo. Kết hợp với bootcamp ngay hôm nay.

Sinh viên tốt nghiệp bootcamp trung bình đã dành ít hơn sáu tháng để chuyển đổi nghề nghiệp, từ khi bắt đầu bootcamp đến khi tìm được công việc đầu tiên của họ.

nextInt() phương pháp này cho phép chúng ta tạo một số ngẫu nhiên giữa phạm vi 0 và một số được chỉ định khác. Ở trên, chúng tôi đã chỉ định số 25. Điều này có nghĩa là tất cả các số mà trình tạo của chúng tôi sẽ trả về sẽ nằm trong khoảng từ 0 đến 25.

Sử dụng Math.random ()

Phương thức Math.random () tốn thêm một chút công sức để sử dụng, nhưng nó vẫn là một cách tốt để tạo một số ngẫu nhiên. Hãy tạo một chuỗi trình tạo số ngẫu nhiên bằng cách sử dụng 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() được tích hợp sẵn trong Java. Điều này có nghĩa là chúng tôi không phải nhập nó vào mã của mình.

Chúng tôi đã bắt đầu bằng cách khai báo hai biến. "Small" chỉ định giới hạn dưới bên dưới mà không có số nào được tạo; "Lớn" là giới hạn trên mà không có số nào được tạo.

Sau đó, chúng tôi đã sử dụng một công thức để tạo một số ngẫu nhiên. Điều này là do Math.random() tự nó không trả về một số ngẫu nhiên nguyên vẹn. Phương thức Math.random trả về một số ngẫu nhiên trong khoảng từ 0,0 đến 1,0. Chúng tôi phải sử dụng công thức ở trên để chuyển nó thành một số nguyên nằm trong phạm vi của chúng tôi.

Khi chúng tôi chạy mã ba lần, ba số ngẫu nhiên được tạo:

2
1
9

Sử dụng ThreadLocalRandom

ThreadLocalRandom là một lớp mà bạn có thể sử dụng để tạo các số ngẫu nhiên.

Lớp này tốt nhất để sử dụng khi bạn muốn tạo nhiều số ngẫu nhiên song song. Điều này thường xảy ra trong môi trường đa luồng.

Hãy tạo một trình tạo số ngẫu nhiên bằng phương pháp này:

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);
	}
}

Chúng tôi đã bắt đầu bằng cách nhập thư viện ThreadLocalRandom có ​​chứa lớp mà chúng tôi đang sử dụng để tạo một số ngẫu nhiên. Sau đó, chúng tôi đã chỉ định hai biến đặt giới hạn dưới và giới hạn trên cho trình tạo số ngẫu nhiên của chúng tôi.

Chúng tôi đã khai báo một biến có tên là random_number_generator tham chiếu đến lớp ThreadLocalRandom. Sau đó, chúng tôi đã sử dụng nextInt() và chỉ định các biến "nhỏ" và "lớn" của chúng tôi làm đối số để tạo một số ngẫu nhiên.

Việc thực thi chương trình của chúng tôi ba lần sẽ trả về ba số ngẫu nhiên:

4
23
15

Bây giờ chúng tôi đã sẵn sàng bắt đầu xây dựng phần còn lại của trò chơi đoán của mình.

Tạo Logic Đoán

Bây giờ chúng ta biết cách tạo một số ngẫu nhiên. Bước tiếp theo trong việc xây dựng trò chơi của chúng tôi là tạo logic cho phép người dùng đoán một số ngẫu nhiên.

Bạn có thể sử dụng bất kỳ ví dụ nào ở trên với mã này để làm cho nó hoạt động. Các tên biến trong các đoạn mã của chúng tôi đã được thiết lập để chúng tương thích với ví dụ dưới đây.

Hãy bắt đầu bằng cách sử dụng lớp “Máy quét” để yêu cầu người dùng đoán một số:

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();
	}
}

Mã này yêu cầu người dùng của chúng tôi “Đoán một số từ 1 đến 25:”. Giá trị mà người dùng nhập vào bảng điều khiển Java sẽ được lưu trữ dưới dạng biến “user_guess”.

Sau đó, chúng tôi sẽ viết một câu lệnh if để kiểm tra xem số mà người dùng đã đoán có bằng với số mà chương trình của chúng tôi đã tạo hay không:

...
if (user_guess == random_number) {
	System.out.println("You have correctly guessed the number!");
} else {
	System.out.println("Your guess is incorrect!");
}

Hãy chạy chương trình của chúng tôi và nhập một số từ 1 đến 25:

Guess a number between 1 and 25:
7
Your guess is incorrect!

Nếu chúng tôi đoán đúng số, chương trình của chúng tôi sẽ trả về những điều sau:

Guess a number between 1 and 25:
9
You have correctly guessed the number!

Chỉ với một vài dòng mã, chúng tôi đã có thể tạo thành công một trò chơi tạo ra một số ngẫu nhiên để đoán.

Kết luận

Số ngẫu nhiên có rất nhiều ứng dụng trong lập trình. Trong ví dụ này, chúng tôi đã trình bày cách sử dụng một số ngẫu nhiên với trò chơi đoán.

Có ba phương pháp bạn có thể sử dụng để tạo số ngẫu nhiên:

  • Sử dụng lớp Ngẫu nhiên
  • Sử dụng Math.random() tích hợp sẵn phương pháp
  • Sử dụng lớp ThreadLocalRandom

Bạn đang tìm kiếm một thử thách? Thay đổi mã trò chơi đoán của chúng tôi để bạn có thể đoán nhiều lần.