Android 随机数 生成

Java中产生随机数的方法有两种: 
第一种:Math.random()

1.生成个位的随机数

int math = (int) ((Math.random() * 10));

2.生成个位不包括0的随机数

int math = (int) ((Math.random() * 9 + 1));

3. 生成n位不包括0的随机数

(十分位:n=10;百分位:n=100;千分位:n=1000;以此类推)

int math = (int) ((Math.random() * 9 + 1) * (n);

第二种:new Random() 

4.产生指定范围的随机数

       以产生[10,99]范围内的随机数为例

int min = 10;
int max = 99;
Random random = new Random();
int num = random.nextInt(max)%(max-min+1) + min;
表1 random类的常用方法
方法 说明
boolean nextBoolean() 生成一个随机的 boolean 值,生成 true 和 false 的值概率相等
double nextDouble() 生成一个随机的 double 值,数值介于[0,1.0),含 0 而不包含 1.0
int nextlnt() 生成一个随机的 int 值,该值介于 int 的区间,也就是 -231~231-1。如果
需要生成指定区间的 int 值,则需要进行一定的数学变换
int nextlnt(int n) 生成一个随机的 int 值,该值介于 [0,n),包含 0 而不包含 n。如果想生成
指定区间的 int 值,也需要进行一定的数学变换
void setSeed(long seed) 重新设置 Random 对象中的种子数。设置完种子数以后的 Random 对象
和相同种子数使用 new 关键字创建出的 Random 对象相同
long nextLong() 返回一个随机长整型数字
boolean nextBoolean() 返回一个随机布尔型值
float nextFloat() 返回一个随机浮点型数字
double nextDouble() 返回一个随机双精度值

 

Import java.util.Random; 
public class Test{
    public static void main(String[] args){
        Random r=new Random();
        double d1=r.nextDouble();    //生成[0,1.0]区间的小数
        double d2=r.nextDouble()*7;    //生成[0,7.0]区间的小数

        int i1=r.nextInt(10);    //生成[0,10]区间的整数
        int i2=r.nextInt(18)-3;    //生成[-3,15]区间的整数

        long l1=r.nextLong();    //生成一个随机长整型值
        boolean b1=r.nextBoolean();    //生成一个随机布尔型值
        float f1=r.nextFloat{);    //生成一个随机浮点型值
       
        for(int i=1;i<8;i++){
            int num=r.nextlnt(9);    //生成[0,9]区间的整数
            System.out.print(num);
        }
    }
}

 

你可能感兴趣的:(Android 随机数 生成)