JAVA中利用Math.random生成随机数

吹水环节:刚升大二 刚学习JAVA 此前学过C的基础 据说写博客能帮自己复习 还能发现很多有相同经历的人 完 我实在编不下去了 开始吧 之前没写过博客 也不知道代码片怎么用 我就先随便写了 如果有什么不对的地方 你他妈来打我啊 哈哈哈 开玩笑的 有错误就麻烦大家指正指正

1.利用Math.random()方法随机生成一个数
代码1:

public class TestRandom
{
    public static void main(String[] args)
    {
        for(int i=0;i<10;i++)
        {
            System.out.println(Math.random());  //调用Math.random()方法并将结果打印出来
        }   
    }

}

运行结果1:
E:\my install\Java\blog>javac TestRandom.java

E:\my install\Java\blog>java TestRandom
0.5485366682366308
0.7904994005768577
0.4970279945435516
0.9144940367397362
0.4147505198413496
0.9006801179679089
0.7179267829109559
0.6356377713437282
0.8714924212354369
0.7853288012971491

由运行结果可以知道Math.random()方法是随机生成一个0~1之间的随机double类型的数

2.那么如何随机生成0~10之间的整数呢 显然直接调用该方法生成的是double型的0~1之间的数 那么我们只要将生成的数乘10,然后转化为int类型就行了

代码2:

public class TestRandom
{
    public static void main(String[] args)
    {
        for(int i=0;i<10;i++)
        {
            //System.out.println((int)Math.random()*10);    注意  这样结果一直是0 这是因为Math.random()生成的数在0-1之间  而0-1之间的double数转化为为int都为0
            System.out.println((int)(Math.random()*10));    //所以应该将生成的随机数乘10  再转化为int类型的数
        }   
    }

}

运行结果2:
E:\my install\Java\blog>javac *.java

E:\my install\Java\blog>java TestRandom
9
7
8
1
1
1
4
1
9
0

3.那么问题又来了 如何随机生成12~18之间的随机整数呢 0~1将原下限0加上12就成了新下限 而1要如何变成18呢 因为加的是12 设随机生成的0~1之间的数位ran 则要求生成的随机数为 ran*6+12

代码3:

public class TestRandom
{
    public static void main(String[] args)
    {
        for(int i=0;i<10;i++)
        {
            System.out.println((int)(Math.random()*6+12));  //设随机生成的0~1之间的数位ran   则要求生成的随机数为 ran*6+12   
        }   
    }   
}

运行结果3:
E:\my install\Java\blog>javac *.java

E:\my install\Java\blog>java TestRandom
16
13
17
16
16
13
12
14
15
14

4.那么新的问题又来了 如何生成指定的区间里的整数呢?其实,依照上面的例子把数值换成变量就行了。

代码4:

public class TestRandom
{
    public static void main(String[] args)
    {
        int s;
        for(int i=0;i<10;i++)
        {
            s = randomRange(33,99);//随机生成33~99之间的整数
            System.out.println(s);     
        }   
    }   

    //获取两个数之间的随机数
    public static int randomRange(int start , int end)
    {
        return((int)(Math.random()*(end - start)+start));
    }
}

运行结果4:
E:\my install\Java\blog>javac *.java

E:\my install\Java\blog>java TestRandom
78
44
64
98
82
72
60
50
69
44

PS:卖女孩的小女孩发来贺电。。。

猜你喜欢

转载自blog.csdn.net/qq_35254628/article/details/52656058