public class StringContainer{
String[] array; int next = 0; StringContainer(int n) {
array = new String[n]; } public void add(String s) {
if (next > array.length - 1) {//容量不足时增大数组
System.out.println("Resizing");
String[] array1 = new String[(int) (array.length * 1.2)];
int i = 0;
for (; i < array.length; i++) array1[i] = array[i]; array = array1; }
array[next++] = s;
} public String get(int i) { return array[i];
}
}import java.util.*;
class dynarry{
public static void main(String args[])
{
StringContainer sc=new StringContainer(2);
sc.add("aaa");
sc.add("dd");
sc.add("ss");
System.out.println(sc.get(1));
}
}
我的StringContainer已经加了个增加数组容量的方法,怎么运行还报错??
错误信息:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
at StringContainer.add(StringContainer.java:24)
at dynarry.main(dynarry.java:8)
Press any key to continue...
String[] array; int next = 0; StringContainer(int n) {
array = new String[n]; } public void add(String s) {
if (next > array.length - 1) {//容量不足时增大数组
System.out.println("Resizing");
String[] array1 = new String[(int) (array.length * 1.2)];
int i = 0;
for (; i < array.length; i++) array1[i] = array[i]; array = array1; }
array[next++] = s;
} public String get(int i) { return array[i];
}
}import java.util.*;
class dynarry{
public static void main(String args[])
{
StringContainer sc=new StringContainer(2);
sc.add("aaa");
sc.add("dd");
sc.add("ss");
System.out.println(sc.get(1));
}
}
我的StringContainer已经加了个增加数组容量的方法,怎么运行还报错??
错误信息:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
at StringContainer.add(StringContainer.java:24)
at dynarry.main(dynarry.java:8)
Press any key to continue...
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货