Random生成随机数的方法演示

注释做的比较详细,因此减少额外的文字说明.下面附结果以供参考.

import java.util.Random;

import org.junit.Test;

public class RandomTest {

	@Test
	public void RandomDemo1() {
		/**
		 * 简单演示
		 */
		//random的各种方法都是取前不取后[0,n),即随机数大于等于0,小于n
		Random random=new Random();
		
		//生成整数时,传参和不传参的区别,传参就有范围,不传参就是任意的
		int i1=random.nextInt();
		int i2=random.nextInt(1000);
		System.out.println("i1======"+i1);
		System.out.println("i2======"+i2);
		
		//生成[0,1.0)之间的小数,取0,不取1.0(没有参数,范围固定就是0~1)
		double d1=random.nextDouble();
		System.out.println("d1======"+d1);
		
		/**
		 * 方法变形
		 */
		//因此不在0~1区间内的小数就需要自己手动计算一下了
		//比如区间为[0.5,4)
		double d2=random.nextDouble()*3.5+0.5;
		System.out.println("d2======"+d2);
		
		//生成[0,10)之间的整数的两种方法
		//Math.abs()是取绝对值的方法,但是还有一些特例,这里先不用管,下面有大神的博客链接供参考
		int i3=random.nextInt(10);
        int i4=Math.abs(random.nextInt()%10);//除以10的余数的绝对值一定大于等于0,小于10
        System.out.println("i3======"+i3);
        System.out.println("i4======"+i4);
        
        //生成[0,10]之间的整数的两种方法
        int i5=random.nextInt(11);
        int i6=Math.abs(random.nextInt()%11);
        System.out.println("i5======"+i5);
        System.out.println("i6======"+i6);
        
        //看看取余的效果
        double sss=1%11;
        System.out.println("sss======="+sss);
        
        //生成[-3,15)区间的整数
        int i7=random.nextInt(18)-3;
        int i8=Math.abs(random.nextInt()%18)-3;
        System.out.println("i7======"+i7);
        System.out.println("i8======"+i8);
		
	}
	
}

(不知道为什么代码的格式不正确,没改成功,有哪位知道怎么回事么)

本篇文章参考了大神的博客--------

关于Random:http://www.cnblogs.com/mr-wuxiansheng/p/6891693.html

关于Math.abs():https://blog.csdn.net/wangqing84411433/article/details/53088513/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值