int i=1;
       Vector <String> v=new Vector <String> (14,4);
       for(i=1;i<=20;i++)
       {
           v.add(i, String.valueOf(i));
       }
System.out.print(v.get(i++));
本意是先将i的值逐个存入Vector,然后逐一打印,但是会出现数组越界异常,这是为什么。
顺便请大侠给我补习下Vector吧

解决方案 »

  1.   

    那是你完整的代码? 最后一个 i++ 执行之前i已经越界了用下面的     int i=1; 
          Vector <String> v=new Vector <String> (14,4); 
          for(i=1;i <=20;i++) 
          { 
              v.add(i, String.valueOf(i)); 
          }
          for(i=1;i <=20;i++) 
          { 
              System.out.print(v.get(i++)); 
          } 
      

  2.   


     Vector<String> v = new Vector<String>();
            for (int i = 0; i < 20; i++) {
                v.add(i, String.valueOf(i + 1));
            }
            for (int i = 0; i < v.size(); i++) {
                System.out.println(v.get(i));
            }
      

  3.   

          for(i=1;i <=20;i++) {
              v.add(i, String.valueOf(i));
          } 
    这里没有对0赋值就直接给1赋值了。
      

  4.   


    sorry上次没仔细看,以为你用的是v.add( String.valueOf(i)); 
    问题出在v.add(i, String.valueOf(i)); 这句.
     你的new Vector <String> (14,4); 初始大小是14, 赋值的时候下标i=14 就越界了.就你的代码改,改成如下试试吧(改初始化大小)
         int i=1; 
          Vector <String> v=new Vector <String> 21,4); 
          for(i=1;i <=20;i++) 
          { 
              v.add(i, String.valueOf(i)); 
          }  或者 (改add方法)    int i=1; 
          Vector <String> v=new Vector <String> (14,4); 
          for(i=1;i <=20;i++) 
          { 
              v.add( String.valueOf(i)); 
          } 哈哈,我没运行过哈~~
      

  5.   

    说个不怎么相关的,其实感觉用ArrayList好些~~
      

  6.   

    import java.util.*;
    class TestVector{
    public static void main(String []args){
           
          Vector <String> v=new Vector <String> (14,4); 
          for(int i=0;i <=20;i++) 
          { 
              v.add(i, String.valueOf(i)); 
          } 
          for(int i=0;i<=20;i++){
           System.out.println(v.get(i)); 
           }
    }
    }