java 产生随机数的两种方式,Java产生随机数的两种方式
Java产生随机数的两种方式
Java产生随机数的两种方式 在java中,我们可以通过两种方式来获取随机数(generating a random number)一种是大家熟悉的java.lang.Math.Random()静态方法,另一种是创建java.util.Random对象。下面是两种方法的使用过程: 一.java.lang.Math.random() 在使用这一静态方法的时候,我们不需要import任何包,因为java.lang.*包是默认载入的,下面举例说面使用方法: public class RandomTest{ public static void main(String[] args){ int i=Math.random();//random()会自动产生一个0.0-1.0的双精度随机数 System.out.println(i);//输出 i=Math.random()*1000;//产生0-1000的双精度随机数 System.out.println(i); int b=(int)(Math.random()*1000);//产生0-1000的整数随机数 System.out.println(b); } } 二.创建java.util.Random对象 import java.util.random public class RandomTest{ public static void main(String[] args){ Random random=new Random();//创建random对象 int intNumber=random.nextInt();//获取一个整型数 float floatNumber=random.nextFloat();//获取一个浮点数(0-1) double doubleNumber=random.nextDouble();//获取双精度数(0-1) boolean booleanNumber=random.nextBoolean();//获取boolean数 System.out.println(“intNumber:“+intNumber); System.out.println(“floatNumber:“+floatNumber); System.out.println(“doubleNumber:“+doubleNumber); System.out.println(“booleanNumber:“+booleanNumber); } } random在产生随机数的时候使用当前的时间作为基数,我们可以同过System.currentTimeMillis()来获取这个基数。当然我们也可以指定基数: Random random=new Random(100); 同一基数所产生的随机数序列是一样的,可以用下面这一段程序进行印证: import java.util.random public class RandomTest{ public static void main(String[] args){ Random random1=new Random(100); Random random2=new Random(100); for(int i=0;i<5;i++){ System.out.print(random1.nextInt()+“\t“); System.out.println(random2.nextInt()+“\t“); System.out.println(“---------------------------------“); } } } 我们可以发现random1和random2所产生的随机数是相同的。
java 产生随机数的两种方式,Java产生随机数的两种方式相关推荐
- Java并发基础01. 传统线程技术中创建线程的两种方式
传统的线程技术中有两种创建线程的方式:一是继承Thread类,并重写run()方法:二是实现Runnable接口,覆盖接口中的run()方法,并把Runnable接口的实现扔给Thread.这两种方式 ...
- Java面试题:synchronized和对象的访问定位的两种方式
说一说自己对于 synchronized 关键字的理解 ? synchronized关键字解决的是多个线程之间访问资源的同步性,synchronized关键字可以保证被它修饰的方法或者 代码块在任意时 ...
- java native函数库_Java 层调用 Native 层函数的两种方式
概述 Java 层如何调用Native层函数,大家都应该知道使用JNI(Java 本地接口). 通过在java层声明native方法,然后遵守JNI规范命名Native函数,即可建立Java层nati ...
- java代码实现:12个高矮不同的人,排成两排,每排必须是从矮到高排列,而且第二排比对应的第一排的人高,问排列方式有多少种?...
此题参考与其他人思路, 2个解题方式. 1. 1 /** 2 * 用java代码实现:12个高矮不同的人,排成两排,每排必须是从矮到高排列,而且第二排比对应的第一排的人高,问排列方式有多少种? 3 * ...
- ubuntu 安装java jdk_「ubuntu安装jdk」Ubuntu安装jdk8的两种方式 - seo实验室
ubuntu安装jdk 安装方式: 1):通过ppa(源) 方式安装. 2):通过官网安装包安装.JDK官网下载地址 一:使用ppa(源)方式安装: 1):添加ppa源sudo add-apt-rep ...
- 图像抖动(加入随机噪声+矩阵有序抖动)Java实现,不使用OpenCV 按照课堂中讲的两种抖动(Dithering)方法,自己编程实现(编程语言不限)。实现方法一:以加入随机噪声的方式保留信息
下面这个题我做了好久,老师说用不到OpenCV,所以我觉得应该用编程读取文件的操作,但我又不知道用C++或者Java如何读取图片文件,所以这里对于我来说是一个问题,当我发现读取文件之后,我又不知道怎么 ...
- java实现多线程抢单_来聊一聊3种实现JAVA多线程的方式吧
在Java中,实现多线程的方式有3种,分别是继承Thread类.实现Runnable接口.实现Callable接口.关于它们是如何实现,有何区别呢? 方式一:继承Thread类 一个普通类只要继承了传 ...
- java 生成随机数_不会生成随机数?我们来看看java生成随机数的10种方法
1.引言 本文将探讨用 Java 生成随机数的不同方法. 2.Java API Java API 提供了几种随机数生成方法.让我们一起来了解一下. 2.1.java.lang.Math Math 类中 ...
- 计算 java_两种计算Java对象大小的方法(转)
原文:http://blog.csdn.net/iter_zc/article/details/41822719 另一篇类似文章:http://www.cnblogs.com/magialmoon/p ...
最新文章
- python opencv视频处理教程_OpenCV+Python详细教程-图片+视频(一)-Go语言中文社区...
- Django框架深入了解_05 (Django中的缓存、Django解决跨域流程(非简单请求,简单请求)、自动生成接口文档)(二)
- 【columnstore】mariadb columnstore 数据迁移
- java 浅堆 深堆_JVM中的一个小知识点:深堆和浅堆的概念
- 关于在Mac上启动了模拟器/连接了手机之后。adb device一直提示List of devices attached的问题...
- vue中的循环v-for
- springboot读取properties(yml)的几种常用方式
- OpenNebula概述
- 熊逸《唐诗50讲》聚散篇 - 学习笔记与感想
- activerecord java_GitHub - redraiment/jactiverecord: 实现自己的ORM还是有价值的
- MASR语音识别算法简介
- 心疼果粉,10V、4A,荣耀Magic2超级快充充电头正式曝光厉害了
- Kalilinux2017.2安装搜狗拼音输入法
- JPEG压缩算法详解(转载)
- Stm32完整安装包,包含Keil5,野火大学堂,Flymcu,Ch340,stm32F1和F4的器件支持包,STM32CubeMX
- WIFI------------QOS 理解:
- 2015年5月产品设计学习与思考
- (十)系统集成中级-进度管理
- 阿斯汤加瑜伽(Ashtanga Yoga)第一序列学习与实践笔记(六)
- [selenium爬知乎热榜
热门文章
- BW2400GA 介绍
- 全局变量和局部变量初始化问题
- cpython gil,CPython的线程与GIL
- Lerx开源网站内容管理系统(CMS) v6.5 以Java+MySQL进行开发的内容管理系统源码
- android6.0小米note标配版
- echarts 地图添加纹理贴图
- 老程序员教你如何提高开发效率、成为大神6——程序的本质
- docker安装mysql,设置mysql初始密码
- 手机续航测试 软件,7部手机续航测试:iPhoneXS第三谷歌第四第一当之无愧
- 【- Flutter Web篇 -】 FlutterUnit web版闪亮登场 ,android网络层框架设计实战