Làm thế nào để tạo ra một chuỗi chữ và số ngẫu nhiên trong Java? (How to generate a random alpha numeric string in Java?)




Trong bài viết tìm số lớn nhất và nhỏ nhất của mảng 2 chiều tôi có dùng qua lớp Random, nên trong bài này tôi sẽ giới thiệu qua một chút về lớp này.





Random là một lớp được sử dụng để tạo một số, một chuỗi ký tự chữ, hay một chuỗi ký tự vừa chữ vùa số. Như tiên đề bài viết tôi sẽ hướng dẫn cách tạo một chuỗi ký tự(chữ và số) ngẫu nhiên bằng cách sử dụng các phương thức trong lớp Random này.

/**
 * @(#)RandomAlphaNumericString.java
 *
 * RandomAlphaNumericString application
 *
 * @author bnson.developer@gmail.com
 * @Web: vnlives.net
 * @version 1.00 2014/3/29
 */

import java.util.Random;

public class RandomAlphaNumericString {
   
    public static void main(String[] args)
    {

        System.out.println("Random string with size is 09: " + randomString(9));
        System.out.println("Random string with size is 10: " + randomString(10));
        System.out.println("Random string with size is 11: " + randomString(11));
       
        System.out.println(" \n \t -- VNLIVES.NET --");
    }
   
    public static String randomString(int size)
    {

        String str01 = "abcdefghijklmnopqrstuvwxyz";
        String str02 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
        String str03 = "0123456789";
       
        // These are the valid charecters use to random.
        // Đây là các ký tự được dùng để chuỗi ký tự ngẫu nhiên.
        String strValid = str01 + str02 + str03;
       
       
        Random random = new Random();
       
        String mystring = "";
        for( int i=0; i<size; i++ ) {
             int randnum = random.nextInt(strValid.length());
             mystring = mystring + strValid.charAt(randnum);
        }
       
        return mystring;
     
    }   
   
}

Khi ta chạy chương trình sẽ nhận được kết quả ngẫu nhiên như sau:


Để chắc anh ta hãy thử kiểm tra lại một lần nữa bằng cách chạy chương trình một lần nữa để xem nó có cho ra một kết quả khác không? Nếu cho cùng kết quả thì cũng chỉ là ngẫu nhiêu thôi nha bạn chứ chương trình hem có sai :>>
















No comments:

Post a Comment