Làm thế nào để đối phó với số ngẫu nhiên và trình tạo chuỗi trong Java?



Bài viết này sẽ giới thiệu cho bạn về Trình tạo chuỗi và số ngẫu nhiên trong Java và theo dõi nó bằng một trình diễn lập trình.

Bài viết này sẽ giới thiệu cho bạn về Số ngẫu nhiên Và String Generator Trong Java và theo dõi nó với một trình diễn có lập trình. Các gợi ý sau sẽ được đề cập trong bài viết này,

Có ba phương pháp để tạo số ngẫu nhiên trong java bằng cách sử dụng các phương thức và lớp có sẵn.





  • Lớp Java.util.Random
  • Phương pháp Math.random
  • Lớp ThreadLocalRandom

Vì vậy, hãy để chúng tôi bắt đầu bài viết về trình tạo chuỗi và số ngẫu nhiên trong Java,

Java .Hữu ích. Ngẫu nhiên

Trước hết, chúng ta cần tạo một thể hiện của lớp này trong chương trình và sau đó gọi các phương thức tích hợp sẵn khác nhau như nextInt (), nextDouble (), v.v. bằng cách sử dụng thể hiện chúng ta đã tạo.
Có thể tạo số ngẫu nhiên kiểu số nguyên, float, double, long, boolean bằng cách sử dụng lớp này.
Các đối số có thể được chuyển tới các phương thức để xác định giới hạn trên cho đến khi số đó được tạo. Ví dụ, nextInt (4) sẽ tạo ra các số trong phạm vi từ 0 đến 3 (bao gồm cả hai).



Ví dụ 1:

// Một chương trình Java để hiển thị tạo số ngẫu nhiên // sử dụng java.util.Random import java.util.Random public class Main {public static void main (String args []) {// tạo một phiên bản của Random class Random rand = new Random () // Tạo số nguyên ngẫu nhiên trong phạm vi từ 0 đến 99 int int1 = rand.nextInt (100) int int2 = rand.nextInt (100) // In các số nguyên ngẫu nhiên System.out.println ('Số nguyên ngẫu nhiên:>' + int1) System.out.println ('Số nguyên ngẫu nhiên:>' + int2) // Tạo nhân đôi ngẫu nhiên double dub1 = rand.nextDouble () double dub2 = rand.nextDouble () // In nhân đôi ngẫu nhiên System.out.println (' Nhân đôi ngẫu nhiên:> '+ dub1) System.out.println (' Nhân đôi ngẫu nhiên:> '+ dub2)}}

Đầu ra:

Đầu ra số ngẫu nhiên và trình tạo chuỗi trong java- Edureka



Thí dụ:

// Chương trình Java để hiển thị tạo số ngẫu nhiên // sử dụng java.util.Random import java.util.Random public class Main {public static void main (String args []) {// tạo một thể hiện của Random class Random rand = new Random () // Tạo số nguyên ngẫu nhiên trong phạm vi từ 0 đến 9 int int1 = rand.nextInt (10) // In số nguyên ngẫu nhiên System.out.println ('Random Integer:>' + int1)}}

Đầu ra:

Tiếp tục với bài viết này

class vs interface trong java

môn Toán . ngẫu nhiên ( )

Lớp có tên là Toán học bao gồm các phương thức khác nhau để thực hiện một số phép toán số khác nhau, bao gồm logarit, giải lũy thừa, v.v. Trong số các phép toán này, có random () được sử dụng để tạo ra các số ngẫu nhiên thuộc loại nhân đôi giữa phạm vi 0,0 và 1,0 . Phương thức này trả về một giá trị kép lớn hơn hoặc bằng 0,0 và nhỏ hơn hoặc bằng 1,0 cùng với một dấu dương. Các giá trị được trả về bởi random () được chọn ngẫu nhiên bởi máy.

Ví dụ 1:

// Một chương trình Java để chứng minh hoạt động của // Math.random () để tạo số ngẫu nhiên import java.util. * Public class Main {public static void main (String args []) {// Tạo giá trị ngẫu nhiên của kiểu dữ liệu double System.out.println ('Giá trị ngẫu nhiên:' + Math.random ())}}

Đầu ra:

Để kiểm tra tính ngẫu nhiên, hãy thực hiện chương trình một lần nữa.

// Một chương trình Java để chứng minh hoạt động của // Math.random () để tạo số ngẫu nhiên import java.util. * Public class Main {public static void main (String args []) {// Tạo giá trị ngẫu nhiên của kiểu dữ liệu double System.out.println ('Một giá trị ngẫu nhiên khác:' + Math.random ())}}

Đầu ra:

Tiếp tục với bài viết này về số ngẫu nhiên và trình tạo chuỗi trong java

Lớp Java.util.concurrent.ThreadLocalRandom

Lớp này được giới thiệu trong java 1.7 để tạo các số ngẫu nhiên kiểu dữ liệu số nguyên, số đôi, số Boolean, v.v.
Ví dụ 1:

php chuyển đổi mảng thành đối tượng
// Một chương trình Java để chứng minh hoạt động của ThreadLocalRandom // để tạo các số ngẫu nhiên. import java.util.concurrent.ThreadLocalRandom public class Main {public static void main (String args []) {// Tạo số nguyên ngẫu nhiên trong phạm vi từ 0 đến 99 int int2 = ThreadLocalRandom.current (). nextInt () // In số nguyên ngẫu nhiên System.out.println ('Số nguyên ngẫu nhiên:' + int2) // Tạo nhân đôi ngẫu nhiên double dub1 = ThreadLocalRandom.current (). NextDouble () double dub2 = ThreadLocalRandom.current (). NextDouble () // In hệ thống nhân đôi ngẫu nhiên. out.println ('Nhân đôi ngẫu nhiên:' + dub1) System.out.println ('Nhân đôi ngẫu nhiên:' + dub2)}}

Đầu ra:

Ví dụ 2:

// Chương trình Java để chứng minh hoạt động của ThreadLocalRandom // để tạo các số ngẫu nhiên. import java.util.concurrent.ThreadLocalRandom public class Main {public static void main (String args []) {// Tạo boolean ngẫu nhiên boolean bool1 = ThreadLocalRandom.current (). nextBoolean () boolean bool2 = ThreadLocalRandom.current (). nextBoolean () // In Booleans ngẫu nhiên System.out.println ('Random Booleans:' + bool1) System.out.println ('Random Booleans:' + bool2)}}

Đầu ra:

Tiếp tục với bài viết này về số ngẫu nhiên và trình tạo chuỗi trong java

Tạo chuỗi ngẫu nhiên trong Java

Chúng tôi có thể tạo chuỗi chữ và số ngẫu nhiên bằng cách sử dụng các phương pháp sau:

Tiếp tục với bài viết này về số ngẫu nhiên và trình tạo chuỗi trong java

Sử dụng Toán học . ngẫu nhiên ( )

Dưới đây là một Ví dụ để hiểu khái niệm một cách tốt hơn.

// Một chương trình Java tạo chuỗi AlphaNumeric ngẫu nhiên // sử dụng phương thức Math.random () public class Main {// định nghĩa một hàm để tạo một chuỗi ngẫu nhiên có độ dài n static String RequiredString (int n) {// chọn một ký tự ngẫu nhiên from this String String AlphaNumericString = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + '0123456789' + 'abcdefghijklmnopqrstuvxyz' // tạo kích thước StringBuffer của AlphaNumericString StringBuilder s = new StringBuilder (y = 0 y for

Đầu ra:

Tiếp tục với bài viết này về số ngẫu nhiên và trình tạo chuỗi trong java

Sử dụng CharSet

Chúng tôi phải sử dụng một gói khác ở đây, tức là gói java.nio.charset.
Dưới đây là một Ví dụ minh họa.

// Một chương trình Java tạo một Chuỗi AlphaNumeric ngẫu nhiên // sử dụng CharSet import java.util. * Import java.nio.charset. * Class Main {static String RequiredString (int n) {// khai báo độ dài byte [] array = new byte [256] new Random (). NextBytes (array) String randomString = new String (array, Charset.forName ('UTF-8')) // Tạo StringBuffer StringBuffer ra = new StringBuffer () // Nối 20 ký tự chữ và số đầu tiên for (int i = 0 i = 'a' && ch = 'A' && ch = '0' && ch 0)) {ra.append (ch) n--}} // trả về chuỗi kết quả trả về ra.toString ()} public static void main (String [] args) {// kích thước của chuỗi ký tự số ngẫu nhiên int n = 10 // Lấy và hiển thị chuỗi ký tự System.out.println (RequiredString (n))}}

Đầu ra:

Tiếp tục với bài viết này về số ngẫu nhiên và trình tạo chuỗi trong java

mảng các đối tượng lớp java

Sử dụng Biểu thức Chính quy

Thực hiện như sau Ví dụ.

// Một chương trình Java tạo chuỗi AlphaNumeric ngẫu nhiên // sử dụng phương thức Biểu thức chính quy import java.util. * Import java.nio.charset. * Class Main {static String getAlphaNumericString (int n) {// byte khai báo độ dài [] array = new byte [256] new Random (). nextBytes (array) String randomString = new String (array, Charset.forName ('UTF-8')) // Tạo StringBuffer StringBuffer ra = new StringBuffer () // loại bỏ tất cả khoảng cách char String AlphaNumericString = randomString .replaceAll ('[^ A-Za-z0-9]', '') // Nối 20 ký tự chữ và số đầu tiên // từ Chuỗi ngẫu nhiên đã tạo vào kết quả cho (int k = 0 k 0) || Character.isDigit (AlphaNumericString.charAt (k)) && (n> 0)) {ra.append (AlphaNumericString.charAt (k)) n--}} // trả về chuỗi kết quả trả về ra.toString ()} public static void main (String [] args) {// kích thước của chuỗi ký tự số ngẫu nhiên int n = 15 // Lấy và hiển thị chuỗi ký tự System.out.println (getAlphaNumericString (n))}}

Đầu ra:

Như vậy là chúng ta đã kết thúc bài viết này. Nếu bạn muốn tìm hiểu thêm, hãy xem bởi Edureka, một công ty học trực tuyến đáng tin cậy. Khóa đào tạo và cấp chứng chỉ Java J2EE và SOA của Edureka được thiết kế để đào tạo bạn về cả khái niệm Java cốt lõi và nâng cao cùng với các khung công tác Java khác nhau như Hibernate & Spring.

Có một câu hỏi cho chúng tôi? Vui lòng đề cập đến nó trong phần nhận xét của blog này và chúng tôi sẽ liên hệ lại với bạn trong thời gian sớm nhất.