Java中的随机数「建议收藏」

Java中的随机数「建议收藏」Java产生可以随机数的有两个类,一个是Random类,另一个是Math类中的random()方法。1.Random类在java.util包中有一个Random类,该对象的几个方法可以生成不同数据类型的随机数。如nextInt(),nextFloat(),nextLong(),nextBoolean()分别生成的是int整形,float浮点型,double浮点型,boolean布尔类型的随机数,也必须要用制定的数据类型的变量接收。例如:输出五个随机…

大家好,又见面了,我是你们的朋友全栈君。

        Java产生可以随机数的有两个类,一个是Random类,另一个是Math类中的random()方法。

一、Random类

        在java.util包中有一个Random类,该对象的几个方法可以生成不同数据类型的随机数。如nextInt(),nextFloat(),nextLong(),nextBoolean()分别生成的是int整形,float浮点型,double浮点型,boolean布尔类型的随机数,也必须要用制定的数据类型的变量接收。

        例如:输出五个随机的布尔类型

import java.util.Random;

public class Test01 {
	
	public static void main(String[] args) {
		Random rd = new Random();
		
		for(int i=0;i<5;i++) {
			boolean temp = rd.nextBoolean();
			System.out.println(temp);
		}
		
		
	}
}

        Java中的随机数「建议收藏」

        此外,可以生成int整形的nextInt()方法,有一个重载方法nextInt(int bound),多了一个传入的bound整形,该方法可以使其生成[0,bound)区间的整形随机数。bound不能<=0会报错。

        例如:随机输出5个0-99的随机数。


import java.util.Random;

public class Test01 {
	
	public static void main(String[] args) {
		Random rd = new Random();
		
		for(int i=0;i<5;i++) {
			int temp = rd.nextInt(100);
			System.out.println(temp);
		}
		
		
	}
}

        输出结果也是随机的0-99:

Java中的随机数「建议收藏」

        我们发现,nextLong()同样是生成整形的随机数,但是没有指定限制随机区间的重载函数,那么就可以使用人为的方式来限制随机区间。

        1. nextLong()%n使其随机数区间在(-n,n)

        例如 : 输出(-10,10)的5个随机数。


import java.util.Random;

public class Test01 {
	
	public static void main(String[] args) {
		Random rd = new Random();
		
		for(int i=0;i<5;i++) {
			Long temp = rd.nextLong()%10;
			System.out.println(temp);
		}
		
		
	}
}

        Java中的随机数「建议收藏」

        2.使用 Math.abs()  限制随机数为非负数。

        例如:输出5个 0-9的随机数

public class Test01 {
	
	public static void main(String[] args) {
		Random rd = new Random();
		
		for(int i=0;i<5;i++) {
			Long temp = Math.abs( rd.nextLong())%10;
			System.out.println(temp);
		}
		
		
	}
}

Java中的随机数「建议收藏」

         其中的nextFloat(),nextDouble()方法分别生成0-1的8位有限小数,16位有限小数的随机数。

        例如:输出5个16位有限小数的随机数。

public class Test01 {
	
	public static void main(String[] args) {
		Random rd = new Random();
		
		for(int i=0;i<5;i++) {
			double temp = Math.abs( rd.nextDouble())%10;
			System.out.println(temp);
		}
		
		
	}
}

        Java中的随机数「建议收藏」

二、Math.random()方法

        生成的随机数和Random类的nextDouble()类似,也是16位有限小数。

        例如:输出5个0-1区间的16位有限小数的随机数。

import java.util.Random;

public class Test01 {
	
	public static void main(String[] args) {
		Random rd = new Random();
		
		for(int i=0;i<5;i++) {
			double temp = Math.random();
			System.out.println(temp);
		}
		
		
	}
}

Java中的随机数「建议收藏」

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/156201.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 姿态传感器mpu6050_六轴陀螺仪原理

    姿态传感器mpu6050_六轴陀螺仪原理目录标题1.前言(闲话)2.陀螺仪及MPU6050模块介绍3.硬件连接4.MPU60505.软件代码————官方自带库6.软件代码————其他代码7.学习补充(代码看不懂的时候可以来看一下)8.效果展示9.参考链接10.完整版代码链接1.前言(闲话)正在准备今年的国赛,打算做一个PID控制题目,于是就选了一个相对比较简单的风力摆,2.陀螺仪及MPU6050模块介绍3.硬件连接4.MPU60505.软件代码————官方自带库6.软件代码————其他代码7.学习补充(代码看不懂的时候可以来看一下

    2025年8月10日
    2
  • 利用小工具instsrv和srvany 创建windows服务

    利用小工具instsrv和srvany 创建windows服务本方式特点:代码超级简单,WindowsForm程序即可,并支持程序交互(本人最喜欢的特点),好像不支持win7,支持xpwin2003首先介绍2个小工具:instsrv.exe:用以安装和卸载可执行的服务srvany.exe:用于将任何EXE程序作为Windows服务运行 这2个工具都是是MicrosoftWindowsResourceKits工具

    2022年6月10日
    27
  • CAS实现单点登录(SSO)经典完整教程

    CAS实现单点登录(SSO)经典完整教程一、简介1、cas是有耶鲁大学研发的单点登录服务器2、本教材所用环境Tomcat7.2JDK6CASService版本cas-server-3.4.8-rele

    2022年6月7日
    100
  • java jce配置_java JCE 不限密钥长度解决办法

    java jce配置_java JCE 不限密钥长度解决办法()转自http://opensourceforgeeks.blogspot.com/2014/09/how-to-install-java-cryptography.html另外,在StackOverflow上也有相关讨论,并提供了反射实现代码https://stackoverflow.com/questions/25959948/local-policy-jar-and-us-export-p…

    2022年6月18日
    50
  • 关于adventure的短语_adventureinwellies

    关于adventure的短语_adventureinwelliesdown了个AdventureWorks2008的数据库备份,没办法谁让一些书上用这个库作为示例呢。主要差别是Person表格,搞不清楚为什么MS在搞什么。用MS提供的安装文件,就是装不上。还有很多人提到那个FileStream的设置,可是根本没用。

    2022年9月12日
    1
  • qq客服代码实现过程

    qq客服代码实现过程

    2021年9月19日
    46

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号