解决方案 »

  1.   

    Vector()   构造一个空向量,使其内部数据数组的大小为 10,其标准容量增量为零。public void insertElementAt(E obj,  int index)将指定对象作为此向量中的组件插入到指定的 index 处。
    此向量中的每个索引大于等于指定 index 的组件都将向上移位,使其索引值变成比以前大 1 的值。 
    索引必须为一个大于等于 0 且小于等于向量当前大小的值(如果索引等于向量的当前大小,则将新元素添加到向量)。 楼主的当前大小为3vct.insertElementAt("nice",vct.capacity()/2 ); 相当于 
    vct.insertElementAt("nice",10/2 ); 效果同 vct.insertElementAt("nice", 5);
    你的vct 中只有三个元素,却要给第5个位置插入,所以出错
      

  2.   

    vct.insertElementAt("nice",vct.capacity()/2 );改为vct.insertElementAt("nice",vct.size()/2 );
    capacity是容量,默认为10。size是里面的元素个数。