private int number [] = {1,2,3,4,5,6};
Random rand = new Random(47);
int a = number [rand.nextInt(number.length-1)]; //这句数组越界,请问哪里越界了哇?谢谢

解决方案 »

  1.   

    int a = number [rand.nextInt(number.length-1)]; 不能把 一个数组number [rand.nextInt(number.length-1)]赋值给一个int类型的数把
      

  2.   


    number[0] 这个东西你觉得是一个数组还是什么东西啊? 我觉得就是一个int的整数啊 
      

  3.   


    int a = number [rand.nextInt(number.length-1)]; 
    改为:
    int a = number [rand.nextInt(number.length)]; 
      

  4.   

    没越界阿
    可以执行的
    import java.util.*;
    public class TT
    {
    public static void main(String[] args)
    {
    int number [] = {1,2,3,4,5,6};
    Random rand = new Random(47);
    int a = number [rand.nextInt(number.length-1)];
    System.out.println(a);
    }
    }
      

  5.   

    电脑中实际上是无法产生真正的随机数的,都是根据给定的seed, 通过一个固定的计算公式来得到,下一个随机数 public Random(long seed)就是要求使用固定的种子来开始生成随机数。在给定相同的种子下,生成的随机数序列总是相同的。你定义的number的length为6,所以要求rand.nextInt(number.length-1) <= 5,但是你可以输出一下rand.nextInt(5)到底是多少,就知道是不是越界了。
      

  6.   

    对阿
    而且不用减一都没问题
    int nextInt(int n)
    返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和指定值(不包括)之间均匀分布的 int 值
      

  7.   

    我错了 是IDE乱报错 。杀了我吧 大哥们对不起了
      

  8.   

    private int number [] = {1,2,3,4,5,6};
    这句就通过不了 我编译了 这个private引用错误 不知道为什么是不是对数组不能修饰啊?变量应该能修饰的