Java中的随机数详解
在java中我们可以使用java.util.Random类来产生一个随机数发生。它有两个构造函数,分别是Random()和Random(long seed)。Random()是用当前时间即System.currentTimeMillis()作为发生器的种子,而Random(long seed)是用指定的seed作为发生器的种子。
当随机数发生器就是Random对象产生以后,可以通过对象调用不同的方法:nextInt()、nextLong()、nextFloat()、nextDouble()等来获得不同类型的随机数。 如果2个Random对象使用相同的种子(比如都是100),并且以相同的顺序调用相同的函数,那么它们的返回值完全相同。
话多无益,我先举个栗子,如下代码:
但是,我想要某个范围的数字怎么办呢?比如我想随机产生 0-99之间的随机数,这个时候我们可以使用模数运算符%。
将模数运算符%作用于随机数产生器所产生的随机数身上,目的就是为了让随机数的最大值属于我们所制定的操作数数值减1范围内。看下面代码就将输入控制在0~99的范围内。(友情提示:如果不加Math.abs(),输出范围将是-99~99。 )
先看不加Math.abs()的情况,如下
在看加了的情况,如下:
相关推荐
-
java生成字母数字组合的随机数示例 java生成随机数
复制代码 代码如下: package com.test; import java.util.Random; public class GenerateRandomNumber { public static void main(String[] args) { System.out.println("生成的10为随机数为:" + getCharAndNumr(10)); } /** * java生成随机数字和字母组合 * @param length[生成随机数的长度] * @re
-
JAVA获得包含0-9、a-z、A-Z范围内字符串的的随机数实例
一.获得0-9,a-z,A-Z范围的随机字符串 复制代码 代码如下: /** * JAVA获得0-9,a-z,A-Z范围的随机数 * @param length 随机数长度 * @return String */ public static String getRandomChar(int length) { char[] chr = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f',
-
Java中生成随机数的实现方法总结
在实际开发工作中经常需要用到随机数.如有些系统中创建用户后会给用户一个随机的初始化密码.这个密码由于是随机的,为此往往只有用户自己知道.他们获取了这个随机密码之后,需要马上去系统中更改.这就是利用随机数的原理.总之随机数在日常开发工作中经常用到.而不同的开发语言产生随机数的方法以及技巧各不相同.笔者这里就以Java语言为例,谈谈随机数生成的方法以及一些技巧. 一.利用random方法来生成随机数. 在Java语言中生成随机数相对来说比较简单,因为有一个现成的方法可以使用.在Math类中,Java
-
Java生成随机数的2种示例方法代码
我们现在做个例子,比如生成20个0到10之间的随机数. 1.使用Random类的nextInt(n)方法,n代表0到n之间,包括0,不包括n 复制代码 代码如下: Random random = new Random();for(int i=0;i<20;i++){ System.out.println(random.nextInt(10));} 2.使用Math类中的random方法,它生成的随机数是0.0到1.0之间的double.要生成int就需要类型转换 复制代码 代码如下: for(i
-
Java编程中随机数的生成方式总结
本章先讲解Java随机数的几种产生方式,然后通过示例对其进行演示. 广义上讲,Java中的随机数的有三种产生方式: (01). 通过System.currentTimeMillis()来获取一个当前时间毫秒数的long型数字. (02). 通过Math.random()返回一个0到1之间的double值. (03). 通过Random类来产生一个随机数,这个是专业的Random工具类,功能强大.第1种 利用System.currentTimeMillis()获取随机数 通过System.curr
-
java生成抽样随机数的多种算法
本章先讲解Java随机数的几种产生方式,然后通过示例对其进行演示. 概述: 这里你是不是会说,生成随机数有什么难的?不就是直接使用Java封装好了的random就行了么?当然对于一般情况下是OK的,而且本文要说明的这些算法也是基于这个random库函数的. 本文主要是针对抽样这一行为进行的,而抽样本身有一个隐含的规则就是不要有重复数据.好了,有了这些说明.你可以先尝试着用一些自己的想法来实现不重复地生成随机数. 算法尝试: 一些好的算法出现,往往伴随着一些不那么好的算法.但是对于效果不太好的算法
-
史上最全的java随机数生成算法分享
复制代码 代码如下: String password = RandomUtil.generateString(10); 源码如下: 复制代码 代码如下: package com.javaniu.core.util;import java.util.Random;public class RandomUtil { public static final String ALLCHAR = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRS
-
java随机数生成具体实现代码
本文实例为大家分享了java随机数生成代码,供大家参考,具体内容如下 package com.gonvan.common.utils; import java.util.*; /** * 随机数工具 * * @author yuerzm * */ public final class LotteryAliasMethod { /** * The random number generator used to sample from the distribution. */ private fin
-
Java中的随机数详解
在java中我们可以使用java.util.Random类来产生一个随机数发生.它有两个构造函数,分别是Random()和Random(long seed).Random()是用当前时间即System.currentTimeMillis()作为发生器的种子,而Random(long seed)是用指定的seed作为发生器的种子. 当随机数发生器就是Random对象产生以后,可以通过对象调用不同的方法:nextInt().nextLong().nextFloat().nextDouble()等来获
-
Java中File类方法详解以及实践
目录 File类概述 File类常用构造器 File类常用方法 常用方法示例 createTempFile临时文件创建示例 FilenameFilter文件过滤器示例 总结 File类概述 File类是java.io包下代表与平台无关的文件和目录.File可以新建.删除.重命名文件和目录,但是不能访问文件内容本身,如果需要访问内容的话,需要通过输入/输出流进行访问. File类可以使用文件路径字符串创建File实例,路径既可以是绝对路径,也可以是相对路径.一般相对路径的话是由系统属性user.d
-
Java中的静态内部类详解及代码示例
1. 什么是静态内部类 在Java中有静态代码块.静态变量.静态方法,当然也有静态类,但Java中的静态类只能是Java的内部类,也称为静态嵌套类.静态内部类的定义如下: public class OuterClass { static class StaticInnerClass { ... } } 在介绍静态内部类之前,首先要弄清楚静态内部类与Java其它内部类的区别. 2. 内部类 什么是内部类?将一个类的定义放在另一个类的内部,就是内部类.Java的内部类主要分为成员内部类.局部内部类.
-
java中正则表达式实例详解
Java中正则表达式运用实例(参看java中正则表达式运用详解): 测试代码 package test; /** * 在String的matches()方法,split()方法中使用正则表达式. * @author fhd001 */ public class RegexTest { public static void main(String[] args) { /* * 普通字符 */ String str1 = "abc45abc345"; String[]arr1 = str1
-
Java中初始化块详解及实例代码
Java中初始化块详解 在Java中,有两种初始化块:静态初始化块和非静态初始化块. 静态初始化块:使用static定义,当类装载到系统时执行一次.若在静态初始化块中想初始化变量,那仅能初始化类变量,即static修饰的数据成员. 非静态初始化块:在每个对象生成时都会被执行一次,可以初始化类的实例变量. 非静态初始化块会在构造函数执行时,且在构造函数主体代码执行之前被运行. 括号里的是初始化块,这里面的代码在创建Java对象时执行,而且在构造器之前执行! 其实初始化块就是构造器的补充,初始化块是
-
Java中的HashSet详解和使用示例_动力节点Java学院整理
第1部分 HashSet介绍 HashSet 简介 HashSet 是一个没有重复元素的集合. 它是由HashMap实现的,不保证元素的顺序,而且HashSet允许使用 null 元素. HashSet是非同步的.如果多个线程同时访问一个哈希 set,而其中至少一个线程修改了该 set,那么它必须 保持外部同步.这通常是通过对自然封装该 set 的对象执行同步操作来完成的.如果不存在这样的对象,则应该使用 Collections.synchronizedSet 方法来"包装" set.
-
java 中cookie的详解及简单实例
java 中cookie的详解 Java对cookie的操作比较简单,主要介绍下建立cookie和读取cookie,以及如何设定cookie的生命周期和cookie的路径问题. 建立一个无生命周期的cookie,即随着浏览器的关闭即消失的cookie,代码如下 HttpServletRequest request HttpServletResponse response Cookie cookie = new Cookie("cookiename","cookievalue&
-
Java中final关键字详解
谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法. 主要介绍:一.final关键字的基本用法.二.深入理解final关键字 一.final关键字的基本用法 在Java中,final关键字可以用来修饰类.方法和变量(包括成员变量和局部变量).下面就从这三个方面来了解一下final关键字的基本用法. 1.修饰类 当用final修饰一个类时,表明这个类不能
-
Java 中的HashMap详解和使用示例_动力节点Java学院整理
第1部分 HashMap介绍 HashMap简介 HashMap 是一个散列表,它存储的内容是键值对(key-value)映射. HashMap 继承于AbstractMap,实现了Map.Cloneable.java.io.Serializable接口. HashMap 的实现不是同步的,这意味着它不是线程安全的.它的key.value都可以为null.此外,HashMap中的映射不是有序的. HashMap 的实例有两个参数影响其性能:"初始容量" 和 "加载因子&quo
-
java 中归并排序算法详解
java 中归并排序算法详解 归并排序算法,顾名思义,是一种先分再合的算法,其算法思想是将要排序的数组分解为单个的元素,每个元素就是一个单个的个体,然后将相邻的两个元素进行从小到大或从大到小的顺序排序组成一个整体,每个整体包含一到两个元素,然后对相邻的整体继续"合"并,因为每个整体都是排过序的,因而可以采用一定的算法对其进行合并,合并之后每个整体包含三到四个元素,继续对相邻的整体进行合并,直到所有的整体都合并为一个整体,最终得到的整体就是将原数组进行排序之后的结果. 对于相邻的整体,其
随机推荐
- 关于Perl里面正则表达式规范
- 原生JS实现日历组件的示例代码
- java HttpServletRequest和HttpServletResponse详解
- php实现的支持imagemagick及gd库两种处理的缩略图生成类
- ASP生成柱型体,折线图,饼图源代码
- Android基础教程数据存储之文件存储
- MySQL笔记之基本查询的应用详解
- Android中ToggleButton开关状态按钮控件使用方法详解
- 基于Android开发支持表情的实现详解
- JavaScript实现的微信二维码图片生成器的示例
- 点击页面其它地方隐藏该div的两种思路
- JavaScript数据结构与算法之集合(Set)
- Nginx could not build the server_names_hash 错误的解决办法
- SQLServer 2005数据库连接字符串 连接sql2005必备资料
- js实现文字垂直滚动和鼠标悬停效果
- C++按位异或运算符的使用介绍
- java模仿windows计算器示例
- 用C#编写ActiveX控件(一)
- PHP使用ActiveMQ实例
- JavaScript同源策略和跨域访问实例详解