Random和Math.random()

Random

  • Random类的实例用于生成随机数,java.util.Random;
//导包
	import java.util.Random
//用法
    Random str = new Random
    int number = str.nextInt();
  • 下面依次给出Random的具体方法:
nextBoolean();
	//返回下一个伪随机数,从这个随机数发生器的序列中均匀分布boolean值
	//返回true/false,跟抛硬币一样正反面两种可能
nextInt();
	//返回下一个伪随机数,从这个随机数发生器的序列中均匀分布int值
	//根据int数据类型的范围生成随机数
nextInt(int bound);
	//返回随机的,均匀分布在所接受int值和零之间,可以用户自定义[0,n]
	//包含0,不包含int值
nextDouble();
	//返回随机浮点数,随机数范围介于[0.0,1.0]之间
nextFloat();
	//返回随机浮点数,与nextDouble();效果相同,但是精度没有double类型高
nextLong();
	//返回在long类型数值范围内的随机数
  • 展示效果:
public static void main(String[]args){
		Random str = new Random();
		System.out.println("==============nextInt()=============");
		for(int i=0;i<5;i++){
			int num = str.nextInt();
			System.out.print(num);
			System.out.print("  ");
		}
		System.out.println();
		System.out.println("==============nextInt(int bound)=============");
		
		for(int i=0;i<5;i++){
			int num = str.nextInt(30);//返回0~30之间的随机数,调用nextInt(int bound)方法
			System.out.print(num);
			System.out.print("  ");
		}
		System.out.println();
		System.out.println("==============nextFloat()=============");
		
		for(int i=0;i<5;i++){
			float num = str.nextFloat();
			System.out.print(num);
			System.out.print("  ");
		}
		System.out.println();
		System.out.println("==============nextDouble()=============");
		
		for(int i=0;i<5;i++){
			double num = str.nextDouble();
			System.out.print(num);
			System.out.print("  ");
		}
		System.out.println();
		System.out.println("==============nextLong()=============");
		
		for(int i=0;i<5;i++){
			long num = str.nextLong();
			System.out.print(num);
			System.out.print("  ");
		}
		System.out.println();
		System.out.println("==============nextBoolean()=============");
		
		for(int i=0;i<5;i++){
			boolean num = str.nextBoolean();
			System.out.print(num);
			System.out.print("  ");
		}
	}
输出效果展示:

==============nextInt()=============
-1562032916  -136884251  1558462491  -754120168  187213465
==============nextInt(int bound)=============
8  25  25  27  28
==============nextFloat()=============
0.018086076  0.8617662  0.81750375  0.33476055  0.53433836
==============nextDouble()=============
0.8285739850681495  0.4601760428757987  0.20901287422161663  0.8094986555712121  0.2043064974815323
==============nextLong()=============
2876650613484644222  7747307292537564799  -8489012853938487075  -7621584888494178006  7536392212767868692
==============nextBoolean()=============
true  false  true  false  true
Random自定义生成随机数区间
//产生[min,max]之间的随机数--->str.nextInt(max-min+1)+min
public static void main(String[] args){
		Random str = new Random();
		for(int i=0;i<5;i++){
		int num = str.nextInt(7)+1;//生成[1,7]之间随机数	
		System.out.print(num);
		System.out.print("  ");
		}
	}

Math.random()

  • 用法:

int  num = (int)(Math.random()*2+1)
//以上代码即设置一个随机1到3(取不到3)的变量num。
  • 公式:
  • Math.random()*(max-min)+min
  • 生成大于等于min小于max的double型随机数;
		for(int i=0;i<5;i++){
		int num = (int)(Math.random()*(4)+1);//生成[1,5)之间随机数	
		System.out.print(num);
		System.out.print("  ");
		}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

绿仔牛奶_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值