本帖最后由 lurengu00 于 2012-09-16 22:29:20 编辑

解决方案 »

  1.   


    public   class   ExamPeekableQueueImpl <E   extends   Comparable <E> >   implements   ExamPeekableQueue <E>   {
    private   Object[]   arrays   =   new   Object[this.capacity]; //holds   the   objects
    private   int   size=0; //current   size
    private   int   capacity   =   2; //default   capacity
    private   int   head   =   -1; //location   of   the   head   of   queue
    private   int   tail   =   -1; //location   of   the   tail   of   queue
            //default   constructor
    public   ExamPeekableQueueImpl()   {
    super();
    }
                    public   void   enqueue(E   e)   {if(null==e){
    throw   new   IllegalArgumentException( "e   is   null ");
    }
    if(this.size()> =this.capacity||arrays.length==0){//   这里!!!!!!!!
    //do   something
                                    }
    }}
    下面是测试代码:
    public   static   void   main(String[]   args)   {ExamPeekableQueueImpl <Integer>   q   =   new   ExamPeekableQueueImpl <Integer> ();
    q.enqueue(2);

      

  2.   

    有初始化顺序的,要么你把capacity变成static的或者把capacity 放到数组初始化之前
      

  3.   

    如3楼所说,把capacity变成static的或者把capacity 放到数组初始化之前吧。