java如何获取随机数
Random r=new Random(); //实例化一个Random类
//随机产生一个整数
System.out.println("随机产生一个整数:"+r.nextInt());
//随机产生一个大于等于0小于10的整数
System.out.println("随机产生一个大于等于0小于10的整数:"+r.nextInt(10));
System.out.println("随机产生一个布尔型的值:"+r.nextBoolean()); //随机产生一个布尔型的值
System.out.println("随机产生一个双精度型的值:"+r.nextDouble()); //随机产生一个双精度型的值
System.out.println("随机产生一个浮点型的值:"+r.nextFloat()); //随机产生一个浮点型的值
//随机产生一个概率密度为高斯分布的双精度值
System.out.println("随机产生一个概率密度为高斯分布的双精度值:"+r.nextGaussian());随机数控制在某个范围内,使用模数运算符%
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使获取数据范围为非负数。Math.random()会返回一个介于0.0与1.0间的一个随机数
可以借鉴 dd = math.random();// 第一种0-1之间的数
random rd = new random();
int num = rd.nextint(100000);//第二种 获取的是100000中的随机数这类问题,哎,自己去查api文档就ok了,好意思来问?Math.random()
java中随机数要怎么产生
你把Random类的new操作放到循环外,如下
import java.util.*;
public class Suijishu{
public static void main (String[] args){
int ab[]=new int[10] ;
Random a=new Random();
for(int i=0;i<10;i++){
ab[i]=a.nextInt(100);
System.out.print(ab[i]+" ");
}setSeed
public void setSeed(long seed)使用单个 long 种子设置此随机数生成器的种子。setSeed 的常规协定是它更改此随机数生成器对象的状态,使其状态好像是刚刚使用参数 seed 作为种子创建它的状态一样。Random 类按如下方式实现 setSeed 方法:
synchronized public void setSeed(long seed) {
this.seed = (seed ^ 0x5DEECE66DL) & ((1L << 48) - 1);
haveNextNextGaussian = false;
}由 Random 类实现的 setSeed 恰好只使用 48 位的给定种子。但是,通常重写方法可能使用 long 参数的所有 64 位作为种子值。 注:尽管种子值是一个基本的 AtomicLong,但仍必须对此方法同步,确保 haveNextNextGaussian 的语义正确。
seed - 初始种子。程序没问题!
就是用random() 方法啊,怎么你运气那么好啊!特意为你写了代码,你上机试下吧。
import java.util.random;
public class random1 {
public static void main(string[] args) {
random ran=new random();
system.out.println(ran.nextint(2));
ran就是引用,随便叫什么名字都可以的,ran.nextint(2)意思就是只能产生小于2的正整数。
如果你想得到0到100的随机数的话就是ran.nextint(101);差不多就是这样吧,希望采纳,呵呵程序是对的...