Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Chương trình Java tạo chuỗi ngẫu nhiên

Trong bài viết này, chúng ta sẽ tìm hiểu cách tạo chuỗi ngẫu nhiên (random string) trong Java. String là kiểu dữ liệu chứa một hoặc nhiều ký tự, bao quanh bởi dấu nháy kép.

Ví dụ minh họa

Đầu vào:

Kích thước chuỗi: 10

Đầu ra mong muốn (ví dụ):

Chuỗi ngẫu nhiên: ink1n1dodv

Thuật toán

  1. Bắt đầu
  2. Khai báo số nguyên string_size, chuỗi alpha_numeric và StringBuilder string_builder
  3. Gán giá trị: alpha_numeric chứa chữ số và chữ cái
  4. Lặp string_size lần, sinh chỉ số ngẫu nhiên bằng Math.random(), thêm ký tự tương ứng vào StringBuilder
  5. Chuyển StringBuilder thành String và hiển thị
  6. Kết thúc

Ví dụ 1: Xử lý trực tiếp trong main

public class RandomString {
    public static void main(String[] args) {
        int string_size = 10;
        System.out.println("Kích thước chuỗi: " + string_size);
        String alpha_numeric = "0123456789" + "abcdefghijklmnopqrstuvxyz";
        StringBuilder string_builder = new StringBuilder(string_size);
        for (int i = 0; i < string_size; i++) {
            int index = (int)(alpha_numeric.length() * Math.random());
            string_builder.append(alpha_numeric.charAt(index));
        }
        String result = string_builder.toString();
        System.out.println("Chuỗi ngẫu nhiên: " + result);
    }
}

Kết quả

Kích thước chuỗi: 10
Chuỗi ngẫu nhiên: ink1n1dodv

Ví dụ 2: Sử dụng phương thức tách biệt (OOP)

public class RandomString {
    static String getAlphaNumericString(int string_size) {
        String alpha_numeric = "0123456789" + "abcdefghijklmnopqrstuvxyz";
        StringBuilder string_builder = new StringBuilder(string_size);
        for (int i = 0; i < string_size; i++) {
            int index = (int)(alpha_numeric.length() * Math.random());
            string_builder.append(alpha_numeric.charAt(index));
        }
        return string_builder.toString();
    }
    public static void main(String[] args) {
        int string_size = 10;
        System.out.println("Kích thước chuỗi: " + string_size);
        System.out.println("Chuỗi ngẫu nhiên:");
        System.out.println(RandomString.getAlphaNumericString(string_size));
    }
}

Kết quả

Kích thước chuỗi: 10
Chuỗi ngẫu nhiên: ink1n1dodv