java nextInt()方法

循环10次Math.abs(Random.nextInt())%52 返回的随机数在哪个范围区间内?

nextInt()函数说明:
如想得到30到200的(包含30和200)这个跨度的数在java中一般可以有如下方式获得:
(1)int i = (int)(Math.random()*171) + 30;
(2)Random r = new Random () ;
r.nextInt (201) ; // 这个是0 - 200
(3)Random r = new Random () ;
r.nextInt (171) + 30 ; // 这个是30 到 200.
//如下为二维数组的一点儿东西 。
public class 数组的使用说明代码 {
public static void main(String args[]){
int[] array=creatArray(10);
printArray(array);
}
public static int[] creatArray(int length){ //构造含length个元素的数组的方法
int[] array =new int[length];
Random rad=new Random(); //产生随机数的方法(系统自己的)
for(int i=0;i<array.length;i++){
int value = rad.nextInt(100) + 200; //rad.nextInt(100) 意思是随机产生一个大于等于0小于100的数 ------即包含0不包含100
array[i]=value;
}
return array;
}

public static void printArray(int[] array){
for(int i=0;i<array.length;i++)
System.out.println(array[i]+'\t');
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-05
当然是0-51啦,52的余数怎么可能是52么。。。

还有,你这个写法不对吧,应该是:
Math.abs(new Random().nextInt()) % 52

这样吧。本回答被提问者采纳
第2个回答  2013-03-05
既然是对52取模,至少是0到52的范围直接哦
相似回答