java数组越界问题,我是新手,求高手解决啊!
import java.util.Scanner;
import java.util.Vector; //向量类;
public class String_ {
static Scanner reader = new Scanner(System.in);
public static void main(String[] args){
Vector vct = new Vector();
System.out.println("请输入支付串:");
String b = reader.next();
vct.addElement(b);
System.out.println("请再次输入:");
String a = reader.next();
vct.addElement(a);
vct.addElement("end");
System.out.println(vct.toString());
vct.insertElementAt("nice",vct.capacity()/2 );
System.out.println(vct.toString());
}
}
这道题原题是: 使用vector向量来保存用户输入的若干个字符串,循环读入用户输入的字符串,以end结束,将所有字符串显示出来,在所有字符串的中间位置插入“nice ”,再次显示所有的字符串。
已经编号:用Eclipse编译错误提示: 希望 高手分析一下错误,感激不尽啊。
请输入支付串:
yuyuhuihj
请再次输入:
hjhjhj
[yuyuhuihj, hjhjhj, end]
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 > 3
at java.util.Vector.insertElementAt(Vector.java:598)
at test.String_.main(String_.java:18)