天天看點

Android 使用Random生成随機數

/**
 * 随機數、字母 工具類
 * Created by admin on 2017/2/20.
 */
public class RandomUntil {

    /**
     * 生成一個0 到 count 之間的随機數
     * @param endNum
     * @return
     */
    public static int getNum(int endNum){
        if(endNum > 0){
            Random random = new Random();
            return random.nextInt(endNum);
        }
      return 0;
    }

    /**
     * 生成一個startNum 到 endNum之間的随機數(不包含endNum的随機數)
     * @param startNum
     * @param endNum
     * @return
     */
    public static int getNum(int startNum,int endNum){
        if(endNum > startNum){
            Random random = new Random();
            return random.nextInt(endNum - startNum) + startNum;
        }
       return 0;
    }

    /**
     * 生成随機大寫字母
     * @return
     */
    public static String getLargeLetter(){
        Random random = new Random();
        return String.valueOf ((char) (random.nextInt(27) + 'A'));
    }

    /**
     * 生成随機大寫字母字元串
     * @return
     */
    public static String getLargeLetter(int size){
        StringBuffer buffer = new StringBuffer();
        Random random = new Random();
        for(int i=0; i<size;i++){
            buffer.append((char) (random.nextInt(27) + 'A'));
        }
        return buffer.toString();
    }

    /**
     * 生成随機小寫字母
     * @return
     */
    public static String getSmallLetter(){
        Random random = new Random();
        return String.valueOf ((char) (random.nextInt(27) + 'a'));
    }

    /**
     * 生成随機小寫字母字元串
     * @return
     */
    public static String getSmallLetter(int size){
        StringBuffer buffer = new StringBuffer();
        Random random = new Random();
        for(int i=0; i<size;i++){
            buffer.append((char) (random.nextInt(27) + 'a'));
        }
        return buffer.toString();
    }

    /**
     * 數字與小寫字母混編字元串
     * @param size
     * @return
     */
    public static String getNumSmallLetter(int size){
        StringBuffer buffer = new StringBuffer();
        Random random = new Random();
        for(int i=0; i<size;i++){
            if(random.nextInt(2) % 2 == 0){//字母
                buffer.append((char) (random.nextInt(27) + 'a'));
            }else{//數字
                buffer.append(random.nextInt(10));
            }
        }
        return buffer.toString();
    }

    /**
     * 數字與大寫字母混編字元串
     * @param size
     * @return
     */
    public static String getNumLargeLetter(int size){
        StringBuffer buffer = new StringBuffer();
        Random random = new Random();
        for(int i=0; i<size;i++){
            if(random.nextInt(2) % 2 == 0){//字母
                buffer.append((char) (random.nextInt(27) + 'A'));
            }else{//數字
                buffer.append(random.nextInt(10));
            }
        }
        return buffer.toString();
    }

    /**
     * 數字與大小寫字母混編字元串
     * @param size
     * @return
     */
    public static String getNumLargeSmallLetter(int size){
        StringBuffer buffer = new StringBuffer();
        Random random = new Random();
        for(int i=0; i<size;i++){
            if(random.nextInt(2) % 2 == 0){//字母
                if(random.nextInt(2) % 2 == 0){
                    buffer.append((char) (random.nextInt(27) + 'A'));
                }else{
                    buffer.append((char) (random.nextInt(27) + 'a'));
                }
            }else{//數字
                buffer.append(random.nextInt(10));
            }
        }
        return buffer.toString();
    }

}      

繼續閱讀