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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 使用 PyCharm 远程调试 Django 程序「建议收藏」

    使用 PyCharm 远程调试 Django 程序「建议收藏」这阵子组内流行使用Django写管理端程序。大家习惯了在Windows上使用PyCharm等IDE快速方便地进行开发,但是由于管理端使用了一些公司的公共组件,而这些组件又只提供了Linux上的Python接口,因此必须在Linux上运行Django程序。值得庆幸的是,大多数的IDE都提供了远程调试功能,PyCharm也可以经过简单配置进行远程调试。场

    2022年8月28日
    1
  • Java获取当前年月日、时间[通俗易懂]

    Java获取当前年月日、时间[通俗易懂]两种方法,通过Date类或者通过Calendar类。Date类比较简单,但是要得到细致的字段的话Calendar类比较方便。importjava.text.DateFormat;importjava.text.SimpleDateFormat;importjava.util.Calendar;importjava.util.Date;importjava.util.L

    2022年10月21日
    0
  • 利用Topshelf把.NET Core Generic Host管理的应用程序部署为Windows服务「建议收藏」

    利用Topshelf把.NET Core Generic Host管理的应用程序部署为Windows服务「建议收藏」背景2019第一篇文章。此文源于前公司在迁移项目到.NETCore的过程中,希望使用GenericHost来管理定时任务程序时,没法部署到Windows服务的问题,而且官方也没给出解决方案,只能关注一下官方issue#809等他们方解决了。官方文档只提供了一个《在Windows服务中托管ASP.NETCore》的方案,可以使用Microsoft.AspNetCore.Host…

    2022年8月31日
    1
  • JavaScript算法题整理

    JavaScript算法题整理1.获得两个数相除的商和余数console.log(10/3);//商:3.3333console.log(10%3);//余数:1//获得两个数相除的商和余数console.log(Math.floor(10/3));//13//Math.floor(向下取整)、Math.ceil(向上取整)、round(四舍五入)console.log(0.1+0.2);//在js中,尽量避免做小数点运算//如果有小数位的运算varsum=(0.1*100+0.2*100)/100;c

    2022年6月14日
    32
  • datagrip激活码2021【注册码】

    datagrip激活码2021【注册码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月18日
    83
  • android scaleanimation动画,Android 的ScaleAnimation 缩放动画基本运用

    android scaleanimation动画,Android 的ScaleAnimation 缩放动画基本运用因为今天用到了ScaleAnimation缩放动画就写一下,加深一下印象。用ScaleAnimation有几个重载方法,这里就将八个参数的重载方法。ScaleAnimation(floatfromX,floattoX,floatfromY,floattoY,intpivotXType,floatpivotXValue,intpivotYType,floatpivotYV…

    2022年10月16日
    0

发表回复

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

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