改成如下即可:
                Vector vv = new Vector();
        
        for(int i=0;i<5;i++){
          String s[] = new String[3];
          for(int j=0;j<3;j++){
            
            s[j]="[" + Integer.toString(i) + "-" + Integer.toString(j) + "]";
          }
          vv.addElement(s);
        }
        String s[] = new String[3];
        for(int i=0;i<5;i++){
          s = (String[])vv.elementAt(i);
          for(int j=0;j<3;j++){
            System.out.print(s[j]);
          }
          System.out.print("<br>");
        }

解决方案 »

  1.   

    nod,s分配内存错误了,应该每个Vector的元素分别分配内存,所以要将s的new操作移进去
      

  2.   

    我测试过了,从测试的结果证明了,Vector中的对象是引用(后面要用于说明),因为这样你的最后一个s的结果[4-0]、[4-1]、[4-2]成为了最后的引用的实际内存中的值,所以,必须该为以上两位所说的那样,使得每个内存空间的字都不会被替代,第2个循环因为引用值指需要输出,所以可以被替换而不用多余申请内存。仔细想一下引用即可明白。