public static void main(String[] args) {
int max=20;
int min=10;
Random random = new Random();
int s = randomnextInt(max)%(max-min+1) + min;
Systemoutprintln(s);
}
1此函数,生成min到max之间的随机"整数"数
2如果需要小数,建议你也以整数开始,最后再除10,或者除100,您明白我意思么
举例,要生成5-10之间的保留两位的小数点
那就将min设置成50,max设置成100,这样就可以得到50-100之间的数,输出前除10,就能得到5-10之间的小数了
在j2se里我们可以使用Mathrandom()方法来产生一个随机数,这个产生的随机数是0-1之间的一个double,我们可以把他乘以一定的数,比如说乘以100,他就是个100以内的随机,这个在j2me中没有。
在javautil这个包里面提供了一个Random的类,我们可以新建一个Random的对象来产生随机数,他可以产生随机整数、随机float、随机double,随机long,这个也是我们在j2me的程序里经常用的一个取随机数的方法。
在我们的System类中有一个currentTimeMillis()方法,这个方法返回一个从1970年1月1号0点0分0秒到目前的一个毫秒数,返回类型是long,我们可以拿他作为一个随机数,我们可以拿他对一些数取模,就可以把他限制在一个范围之内。
具体编程方法摘要:
Random()
创建一个新的随机数生成器。
Random(long seed)
使用单个 long 种子创建一个新随机数生成器: public Random(long seed) { setSeed(seed); } next
方法使用它来保存随机数生成器的状态。
protected int next(int bits)
生成下一个伪随机数。
boolean nextBoolean()
返回下一个伪随机数,它是从此随机数生成器的序列中取出的、均匀分布的 boolean 值。
void nextBytes(byte[] bytes)
生成随机字节并将其置于用户提供的字节数组中。
double nextDouble()
返回下一个伪随机数,它是从此随机数生成器的序列中取出的、在 00 和 10之间均匀分布的 double 值。
float nextFloat()
返回下一个伪随机数,它是从此随机数生成器的序列中取出的、在 00 和 10 之间均匀分布的 float 值。
double nextGaussian()
返回下一个伪随机数,它是从此随机数生成器的序列中取出的、呈高斯(“正常地”)分布的 double 值,其平均值是 00,标准偏差是 10。
int nextInt()
返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值。
int nextInt(int n)
返回一个伪随机数,它是从此随机数生成器的序列中取出的、在 0(包括)和指定值(不包括)之间均匀分布的 int值。
long nextLong()
返回下一个伪随机数,它是从此随机数生成器的序列中取出的、均匀分布的 long 值。
void setSeed(long seed)
使用单个 long 种子设置此随机数生成器的种子。
Java中有两种方法可以得到随机数,一个是random类,但是这个类需要先声明对象,而且得到的随机数只有上限,没有下限,用这种方法得到你要的结果是这样的random rs=new random();int i=rsnextInt(10)+10;第二种方法,就是javautilMath的random()方法,这是个静态方法,直接调用返回的是0到1之间的double类型的数据(大于等于0小小于1,一定要注意这点),你的问题的答案最终这么写,你好好考虑考虑(int)(Mathrandom()10)+10
public static void main(String[] args) {
Random r = new Random();
for (int i = 0; i < 10; i++) {
//rnextInt(n) n为几 就产生0~n-1的随机数
int num = rnextInt(2)+1;
Systemoutprint(num+"\t");
}
}
以上就是关于java获取指定范围的随机数全部的内容,包括:java获取指定范围的随机数、如何在java中产生随机数、java如何获取10到20随机数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)