Android 使用Random生成随机数

import java.util.Random;

/**
* @date 2017/2/20
* @author Quexs
* @Description 随机数、字母 工具类
*/
public class RandomUtils {

    /**
     * 生成一个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(25) + 'A'));
    }

    /**
     * 生成随机大写字母字符串
     * @return
     */
    public static String getLargeLetter(int size){
        StringBuilder builder = new StringBuilder();
        Random random = new Random();
        for(int i=0; i<size;i++){
            builder.append((char) (random.nextInt(25) + 'A'));
        }
        return builder.toString();
    }

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

    /**
     * 生成随机小写字母字符串
     * @return
     */
    public static String getSmallLetter(int size){
        StringBuilder builder = new StringBuilder();
        Random random = new Random();
        for(int i=0; i<size;i++){
            builder.append((char) (random.nextInt(25) + 'a'));
        }
        return builder.toString();
    }

    /**
     * 数字与小写字母混编字符串
     * @param size
     * @return
     */
    public static String getNumSmallLetter(int size){
        StringBuilder builder = new StringBuilder();
        Random random = new Random();
        for(int i=0; i<size;i++){
            if(random.nextInt(2) % 2 == 0){//字母
                builder.append((char) (random.nextInt(25) + 'a'));
            }else{//数字
                builder.append(random.nextInt(10));
            }
        }
        return builder.toString();
    }

    /**
     * 数字与大写字母混编字符串
     * @param size
     * @return
     */
    public static String getNumLargeLetter(int size){
        StringBuilder builder = new StringBuilder();
        Random random = new Random();
        for(int i=0; i<size;i++){
            if(random.nextInt(2) % 2 == 0){//字母
                builder.append((char) (random.nextInt(25) + 'A'));
            }else{//数字
                builder.append(random.nextInt(10));
            }
        }
        return builder.toString();
    }

    /**
     * 数字与大小写字母混编字符串
     * @param size
     * @return
     */
    public static String getNumLargeSmallLetter(int size){
        StringBuilder builder = new StringBuilder();
        Random random = new Random();
        for(int i=0; i<size;i++){
            if(random.nextInt(2) % 2 == 0){//字母
                if(random.nextInt(2) % 2 == 0){
                    builder.append((char) (random.nextInt(25) + 'A'));
                }else{
                    builder.append((char) (random.nextInt(25) + 'a'));
                }
            }else{//数字
                builder.append(random.nextInt(10));
            }
        }
        return builder.toString();
    }

}

您可以使用以下代码在 Android Studio 中创建一个 Service,该 Service 会生成一个随机数并将其返回: ``` public class RandomNumberService extends Service { private final IBinder mBinder = new RandomNumberBinder(); private final Random mGenerator = new Random(); public class RandomNumberBinder extends Binder { RandomNumberService getService() { return RandomNumberService.this; } } @Override public IBinder onBind(Intent intent) { return mBinder; } public int getRandomNumber() { return mGenerator.nextInt(); } } ``` 在您的 Activity 中,您可以使用以下代码来绑定 Service 并获取随机数: ``` private boolean mBound = false; private RandomNumberService mService; private ServiceConnection mConnection = new ServiceConnection() { @Override public void onServiceConnected(ComponentName className, IBinder service) { RandomNumberBinder binder = (RandomNumberBinder) service; mService = binder.getService(); mBound = true; } @Override public void onServiceDisconnected(ComponentName arg0) { mBound = false; } }; @Override protected void onStart() { super.onStart(); Intent intent = new Intent(this, RandomNumberService.class); bindService(intent, mConnection, Context.BIND_AUTO_CREATE); } @Override protected void onStop() { super.onStop(); if (mBound) { unbindService(mConnection); mBound = false; } } public void generateRandomNumber() { if (mBound) { int randomNumber = mService.getRandomNumber(); // 在此处使用生成的随机数 } } ``` 请注意,您需要在 AndroidManifest.xml 文件中声明您的 Service,如下所示: ``` <service android:name=".RandomNumberService" /> ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值