问答详情
源自:3-8 使用 Math 类操作数据

for循环定义i的取值范围问题

 已知 nums 数组的长度为10 ,for循环的时候定义i的范围时候

int x = (int)(Math.random()*i); 编译和运行都通过

int x = new Random().nextInt(i)编译通过 运行不通过


来个愤怒的大牛??

提问者:Mo0 2014-11-30 21:54

个回答

  • 偌颜宁
    2014-12-01 11:13:29
    已采纳

    前者是产生随机数,并将该随机数扩大i倍。

    后者Random().nextInt(i)这个方法是产生一个0-i之前的一个整型随机数,而在这里i是一个变量,所以会包异常