OrderItem [] order=new OrderItem[]{};
int j=0;
order[j]=new OrderItem("fdsfs",12.3,3);
为什么会报数组长度超出的错误,麻烦各位大侠,帮忙看看............

解决方案 »

  1.   

    没给数组订好初始大小,比如:
    OrderItem [] order=new OrderItem[100];
      

  2.   

    可以呀,用类arraylist
    import java.util.ArrayList;ArrayList OrderItems=new ArrayList();
    OrderItems.add(new OrderItem("fdsfs",12.3,3));//添加你新建的订单项
    如果想继续加,继续用add方法啦~无限可加的哦~
    取出第n个:这样取OrderItems.get(n)
      

  3.   

    OrderItem [] order=new OrderItem[]{}; //这样就定义了一个长度为0的数组,错位报错OrderItem [] order=new OrderItem[]{ new OrderItem("fdsfs",12.3,3)};//这样定义了一个长度为1的数组,不会报错
      

  4.   

    三楼的大哥这个方法是不行的呀
    Exception in thread "main" java.lang.Error: Unresolved compilation problems: 
    The method add(int, Object) in the type ArrayList is not applicable for the arguments (String, double, int)
      

  5.   

    Java数组不支持动态数据!3楼给你的方案是用:List,列表对象;这个支持动态。不过写错了,应该是:
    ArrayList<OrderItems> lst = new ArrayList<OrderItems>();
    lst.add(new OrderItem("fdsfs",12.3,3));
      

  6.   

    注意啦~
    add方法的参数只有一个,就是你要加的对象。(你给搞成2对象了)
    8楼写法:值得提倡哦~,定义ArrayList时,尽量声明数组元素的类型。(<OrderItem>)
    但是8楼有个小错误哦~ArrayList<OrderItem> lst = new ArrayList<OrderItem>();//我猜:LZ的数组元素类型应该是<OrderItem>
    lst.add(new OrderItem("fdsfs",12.3,3));