这样试试:
Random ran = new Random();
for(int i = 0;i < 5;i++){
int a = ran.nextInt(20);
int b = 1 + ran.nextInt(4);
int c = 1 + ran.nextInt(4);
}
Random ran = new Random();
for(int i = 0;i < 5;i++){
int a = ran.nextInt(20);
int b = 1 + ran.nextInt(4);
int c = 1 + ran.nextInt(4);
}
解决方案 »
- JAVA查询SQL2005能同时查询多个字段吗?
- 关于字符串不可修改的问题
- 请问这个错误怎么修改
- 读取远程SQLSERVER的2进制字段在本地生成文件后,插入到本地ORACLE的LONG RAW字段报"数据大小超出此类型的最大值"错
- 关于java程序编译问题
- [求助]字符串替换为什么总是报错!
- Graphics2D.drawString输出文字如何实现字体描边的效果
- 偶MM让我给她做一个电子日子本,用JAVA如何来实现/
- 我的ResultSet为什么总是ScrollableResultSet?而不是UpdateableResultSet,今天下午一定结帖,分不够还可以加分
- 我怎么取得session中的每个变量的值及session的长度,请赐教!谢谢!非常急用!高分!请详细一点,一定给分!
- 请问怎样能让键盘的所有按键失效(包括对操作系统)?
- 高分,字节转换的问题?
/**
*
* <p>Program name: Stochastic</p>
* <p> </p>
* <p>Purpose: </p>
* <p> </p>
* <p>Author: Xu Jingqi</p>
* <p> </p>
* <p>LastUpdatedTime: 16/11/02 </p>
*/
public abstract class Stochastic
{
protected int seed=0;
protected static final float FLT_MAX =1.0F - 1.192092896e-07F;
protected static final float FLT_AM =1.0F / 2147483563.0F;
protected static final double DBL_MAX =1.0D - 1.192092896e-07F;
protected static final double DBL_AM =1.0D / 2147483563.0D; private static final StochasticException err_hilo=new StochasticException("invalid lo - hi range"); /**
*
*/
public Stochastic()
{
seed = (int)System.currentTimeMillis();
} /**
*
* @param seed
*/
public Stochastic(int seed)
{
this.seed=seed;
} /**
*
* @return
*/
public abstract int nextValue(); /**
*
* @return
*/
final public float nextFloat()
{
nextValue();
float temp=FLT_AM * seed;
if(temp > FLT_MAX)
return FLT_MAX;
else
return temp;
} /**
*
* @return
*/
final public double nextDouble()
{
nextValue();
double temp=DBL_AM * seed;
if(temp > DBL_MAX)
return DBL_MAX;
else
return temp;
} /**
* Get next value between hi and low extrema
* @param lo
* @param hi
* @return
*/
final public int nextValue(int lo,int hi)
{
if(lo>=hi)
throw err_hilo;
return (int)((long)lo+((long)hi-(long)lo)*nextFloat());
} /**
* Get next value between hi and low extrema
* @param hi
* @return
*/
final public int nextValue(int hi)
{
//return rangeed value
return (int)((float)hi* nextFloat());
} /**
* Get next uniform deviate as an float within a range
* @param lo
* @param hi
* @return
*/
final public float nextFloat(float lo,float hi)
{
if(lo<hi)
throw err_hilo;
return lo+(hi-lo)*nextFloat();
} /**
* Get next uniform deviate as an double within a range
* @param lo
* @param hi
* @return
*/
final public double nextDouble(double lo,double hi)
{
if(lo<hi)
throw err_hilo;
return lo+(hi-lo)*nextDouble();
}
}
*
* <p>Program name: StochasticLevel3</p>
* <p> </p>
* <p>Purpose: </p>
* <p> </p>
* <p>Author: Xu Jingqi
* <p> </p>
* <p>LastUpdatedTime: 6/11/02</p>
*/
public class StochasticLevel3 extends Stochastic
{
private static final int M1 = 2147483563;
private static final int A1 = 40014;
private static final int Q1 = 53668;
private static final int R1 = 12211; private static final int M2 = 2147483399;
private static final int A2 = 40692;
private static final int Q2 = 52774;
private static final int R2 = 3791; private static final int TBL_LEN = 32;
private static final int DIV = 1 + (M1 - 1) / TBL_LEN; private int dummy =123456789;
private int hold =0;
private int[] val =new int[TBL_LEN]; /**
*
*/
public StochasticLevel3()
{
super();
if(seed>0)
seed*=-1;
} /**
*
* @param seed
*/
public StochasticLevel3(int seed)
{
super(seed);
if(seed>0)
seed*=-1;
} /**
*
* @return
*/
public int nextValue()
{
int j,k;
if(seed<=0L)
{
//initialize tables
if(-seed<1)
seed=1;
else
seed=-seed;
dummy=seed; //load shuffle table
for(j=TBL_LEN+7;j>=0;j--)
{
k=seed/Q1;
seed=A1 * (seed - k * Q1) - k * R1;
if(seed<0)
seed+=M1;
if(j<TBL_LEN)
val[j]=seed;
}
hold=val[0];
}
k=seed/Q1;
seed=A1 * (seed -k * Q1) - k * R1;
if(seed<0)
seed+=M1;
k=dummy/Q2; dummy = A2 * (dummy - k * Q2) - k * R2;
if(dummy<0)
dummy+=M2;
j=hold/DIV;
hold=val[j]-dummy;
val[j]=seed;
if(hold<1)
hold+=M1-1;
return seed;
} /**
* 主函数,用于测试
* @param args
*/
public static void main(String[] args)
{
int bucket[]=new int[5000];
StochasticLevel3 rand=new StochasticLevel3();
for(int i=0;i<100000;i++)
bucket[(int)(rand.nextDouble()*bucket.length)]++;
for(int i=0;i<bucket.length;i++)
System.out.print(bucket[i]+" ");
}
}
*
* <p>Program name: StochasticException</p>
* <p> </p>
* <p>Purpose: </p>
* <p> </p>
* <p>Author: Xu Jingqi</p>
* <p> </p>
* <p>LastUpdatedTime: 16/11/02</p>
*/
public class StochasticException extends RuntimeException
{
/**
*
*/
public StochasticException()
{
super();
} /**
*
* @param s
*/
public StochasticException(String s)
{
super(s);
}
}