随机数

独孤帆 2010-05-06 08:29:23
用Math.random取随机数和用Random类中的方法有什么不同?
...全文
78 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
licip 2010-05-06
  • 打赏
  • 举报
回复
试一下就知道了。
zfq642773391 2010-05-06
  • 打赏
  • 举报
回复
Math.random方法内部调用的就是Rondom类的方法
zhangsanja 2010-05-06
  • 打赏
  • 举报
回复
Math.random()取得0<=x<1的double类型。

Random直接上代码:

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Random;
import java.util.Set;

/**
* Random 类
* http://www.juheit.com
*/
public class StudyRandom{

public static void main(String[] args){

//创建随机的实例
Random r = new Random();

//产生随机整数
int ranInt = r.nextInt();

System.out.println("ranInt:" + ranInt);

//产生相同的随机序列
r = new Random(IRandomConstant.SEED);

for(int i = 0; i < 5; i ++){
System.out.println(r.nextInt());
}

//每次产生不同的随机序列
r = new Random(System.currentTimeMillis());
for(int i = 0; i < 5; i ++){
System.out.println(r.nextInt());
}

//产生指定范围内的随机数
r = new Random();
for(int i = 0; i < 5; i ++){
// System.out.println(r.nextInt(50));//50以内
System.out.println(r.nextInt(51) + 50);//50~100之间的随机数
}

getRandomMaxMinNum();

}

/**
* 取出50~100之间的随机数,取出其中的最大数、第二大数和最小数、第二小数
*/
public static void getRandomMaxMinNum(){

Random r = new Random();

//创建无序集合
Set<Integer> randomSet = new HashSet<Integer>();
for(int i = 0; i < 10; i ++){
randomSet.add(new Integer(r.nextInt(51) + 50));
}
System.out.println("randomSet:" + randomSet);

//创建有序集合
List<Integer> randomList = new ArrayList<Integer>();
randomList.addAll(randomSet);

//排序
Collections.sort(randomList);

if(randomList.size() >= 2){
System.out.println("MaxInt:" + randomList.get(randomList.size() - 1));
System.out.println("MaxSecInt:" + randomList.get(randomList.size() - 2));
System.out.println("MinSecInt:" + randomList.get(1));
System.out.println("MinInt:" + randomList.get(0));
}

}

}

interface IRandomConstant{
/**
* 随机种子
*/
public static final Long SEED = 1000000L;
}
focusforce 2010-05-06
  • 打赏
  • 举报
回复
看看Math.random的源代码,就知道它其实是调用了java.util.Random#nextDouble()

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧