黑马程序员技术交流社区
标题:
求助:数组a的长度怎么得来的???
[打印本页]
作者:
goldenking56
时间:
2012-3-29 02:10
标题:
求助:数组a的长度怎么得来的???
本帖最后由 goldenking56 于 2012-3-29 02:13 编辑
import java.util.*;
public class aa
{
public static void main(String []agrs)
{
int [] a;
Random rand=new Random(47);
a=new int[rand.nextInt(20)];
System.out.print(a.length);
System.out.println(Arrays.toString(a));
}
}
我知道是根据这句话得来的,a=new int[rand.nextInt(20)];
随机不超过20。
但为什么每次得到的长度都是我填写的最大长度减2? 为什么?
作者:
贠(yun)靖
时间:
2012-3-29 03:55
本帖最后由 贠(yun)靖 于 2012-3-29 04:46 编辑
好像是因为你定义了参数,怎么不是十九呢?
作者:
和心愿
时间:
2012-3-29 07:10
public int nextInt(int n)
返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和指定值(不包括)之间均匀分布的 int 值。
作者:
黑马胡林
时间:
2012-3-29 07:22
这是电脑,自动随机生成的数,跟堆内存有关。换个数试试,可能跟你的参数有关。用垃圾回机下试试..
作者:
李彬彬
时间:
2012-3-29 10:01
Random rand=new Random(47); 在API中Random(long seed)使用单个long 种子创建一个新的随机数生成器。
a=new int[rand.nextInt(20)]; 在这里又创建一个伪随机数生成器
这两行创建了2次随机数生成器,也就是说在 第一次产生随机数是0~19,第二次产生随机数是0~18。
所以在你每次运行得到的长度都是填写的最大长度减2
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2