ランダムに乱数のセットを生成(アルファベットと数字付き)


package com.qfx.util;
import java.util.Random;
public class CharacterUtils {
    //        ,length           
    public static String getRandomString(int length) {
        String str = "abcdefghigklmnopqrstuvwxyzABCDEFGHIGKLMNOPQRSTUVWXYZ1234567890";
        Random random = new Random();
        StringBuffer sb = new StringBuffer();

        for (int i = 0; i < length; i++) {
            //  1-62          
            int number = random.nextInt(62);
            sb.append(str.charAt(number));
        }
        return sb.toString();
    }

    //        
    public static String getRandomString2(int length) {
        Random random = new Random();
        StringBuffer sb = new StringBuffer();

        for (int i = 0; i < length; i++) {
            int number = random.nextInt(3);
            long result = 0;

            switch (number) {
            case 0:
                //         A-Z    
                result = Math.round(Math.random() * 25 + 65);
                sb.append(String.valueOf((char) result));
                break;
            case 1:
                //         a-z    
                result = Math.round(Math.random() * 25 + 97);
                sb.append(String.valueOf((char) result));
                break;
            case 2:
                //     0-9      
                sb.append(String.valueOf(new Random().nextInt(10)));
                break;
            }
        }
        return sb.toString();
    }

    public static void main(String[] args) {
        System.out.println(getRandomString(10));
        System.out.println(getRandomString2(10));
    }
}