java产生随机数我怎么固定长度???

如题所述

Math.random()返回的只是从0到1之间的小数,如果要50到100,就先放大50倍,即0到50之间,这里还是小数,如果要整数,就强制转换int,然后再加上50即为50~100.
最终代码:(int)(Math.random()*50) + 50

Random random = new Random();//默认构造方法
Random random = new Random(1000);//指定种子数字
在进行随机时,随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的变换,从而产生需要的随机数字。
相同种子数的Random对象,相同次数生成的随机数字是完全相同的。也就是说,两个种子数相同的Random对象,第一次生成的随机数字完全相同,第二次生成的随机数字也完全相同。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-24
Math.random()返回的只是从0到1之间的小数,如果要50到100,就先放大50倍,即0到50之间,这里还是小数,如果要整数,就强制转换int,然后再加上50即为50~100.
最终代码:(int)(Math.random()*50) + 50

Random random = new Random();//默认构造方法
Random random = new Random(1000);//指定种子数字
在进行随机时,随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的变换,从而产生需要的随机数字。
相同种子数的Random对象,相同次数生成的随机数字是完全相同的。也就是说,两个种子数相同的Random对象,第一次生成的随机数字完全相同,第二次生成的随机数字也完全相同。本回答被网友采纳
第2个回答  2011-12-24
假定生成7(固定7位)位的随机数!可以这么来!
import java.util.Random;

public class Ran {
Random rand= new Random();
public int NextInt(final int min, final int max)
{

int tmp = Math.abs(rand.nextInt());
return tmp % (max - min + 1) + min;

}

public static void main(String[] args) {
Ran r=new Ran();

System.out.println(r.NextInt(1000000,9999999));

}

}
第3个回答  2011-12-14
int n = 100;
random.nextInt(n);
返回0~n之间的随机数
第4个回答  2011-12-14
Random rd = new Random();
rd.nextInt(99); 0~99
相似回答