有笔记,如何获取一个随机数或者随机整数,范围在0-100之间。


class RandomTest{
    public static void main(String[] args) {
        double d1=Math.random();
        System.out.println("d1="+d1);

        int num1=(int)(Math.random()*101);
        System.out.println("num1="+num1);
        //拓展,获取1-100之间的整数
        int num2=(int)(Math.random()*100)+1;
        System.out.println("num2="+num2);
        //拓展:获取一个[a,b]范围内的随机整数公式
        int a=11,b=29;
        int num3=(int)(Math.random()*(b-a+1))+a;
        System.out.println("num3="+num3);



    }
}

心路历程: 

因为random的返回值是一个0.0-1.0之间的随机数。

假定用random*100,会得到随机数为0.0-99.0.

但是考虑到我们要求数值范围在0-100之间,所以使用random*101.得到0.0-101.0

使用强转将范围转为0-100

对于num3的公式来说,其实就是类比去求就可以。

此处留一个问题请教大家。为什么我再num3的运算中,令random*(b+1)的范围也对呢?但是我并没有-a;这个问题我还没想清楚。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值