你把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() 方法啊,怎么你运气那么好啊!
你的程序没错运行的是正确的
程序是对的...