JAVA获取随机数
2012-03-01 11:42
232 查看
在Java中我们可以使用java.util.Random类来产生一个随机数发生器。它有两种形式的构造函数,分别是Random()和Random(long seed)。Random()使用当前时间即System.currentTimeMillis()作为发生器的种子,Random(long seed)使用指定的seed作为发生器的种子。 随机数发生器(Random)对象产生以后,通过调用不同的method:nextInt()、nextLong()、nextFloat()、nextDouble()等获得不同类型随机数。 1>生成随机数 Random random = new Random(); Random random = new Random(100);//指定种子数100 random调用不同的方法,获得随机数。 如果2个Random对象使用相同的种子(比如都是100),并且以相同的顺序调用相同的函数,那它们返回值完全相同。如下面代码中两个Random对象的输出完全相同 import java.util.*; class TestRandom { public static void main(String[] args) { Random random1 = new Random(100); System.out.println(random1.nextInt()); System.out.println(random1.nextFloat()); System.out.println(random1.nextBoolean()); Random random2 = new Random(100); System.out.println(random2.nextInt()); System.out.println(random2.nextFloat()); System.out.println(random2.nextBoolean()); } } 2>指定范围内的随机数 随机数控制在某个范围内,使用模数运算符% import java.util.*; class TestRandom { public static void main(String[] args) { Random random = new Random(); for(int i = 0; i < 10;i++) { System.out.println(Math.abs(random.nextInt())%10); } } } 获得的随机数有正有负的,用Math.abs使获取数据范围为非负数 3>获取指定范围内的不重复随机数 import java.util.*; class TestRandom { public static void main(String[] args) { int[] intRet = new int[6]; int intRd = 0; //存放随机数 int count = 0; //记录生成的随机数个数 int flag = 0; //是否已经生成过标志 while(count<6){ Random rdm = new Random(System.currentTimeMillis()); intRd = Math.abs(rdm.nextInt())%32+1; for(int i=0;i<count;i++){ if(intRet[i]==intRd){ flag = 1; break; }else{ flag = 0; } } if(flag==0){ intRet[count] = intRd; count++; } } for(int t=0;t<6;t++){ System.out.println(t+"->"+intRet[t]); } } } |
random.nextInt();
也可以有nextFloat等等,各种基本类型都有
Math.random也可以
比如说你想要0-10之间的随机数
你可以这样写
(int)(Math.random()*10);
JAVA产生指定范围的随机数》
《JAVA产生指定范围的随机数》
产生机制:
产生Min-Max之间的数字
实现原理:
Math.round(Math.random()*(Max-Min)+Min)
long Temp; //不能设定为int,必须设定为long
//产生1000到9999的随机数
Temp=Math.round(Math.random()*8999+1000);
相关文章推荐
- Java获取随机数(工具类)
- Java获取随机数获取制定范围指定个数不重复的随机数
- JAVA获取随机数
- Java获取随机数
- JAVA获取随机数
- java获取随机数
- JAVA获取随机数
- Java编写一个程序,获取10个1~20的随机数.要求随机数不能重复.
- java实现:获取随机数
- JAVA获取随机数
- JAVA获取随机数
- java-Math类Random方法获取随机数案例
- java获取随机数
- Java获取随机数的3种方法
- java获取指定范围的随机数
- JAVA笔记2--如何获取随机数
- java代码获取指定长度随机数
- Java获取随机数总结
- JAVA获取随机数
- java8 获取范围之内的随机数(指定最小,最大值)