//数组溢出还能继续添加元素
class Add
{ //定义成员变量,数组的容量是10
static int[] arr = new int[10];
//给索引赋初始值
static int index = 0;
public static void main(String[] args)
{ //遍历给add添加值
for(int i=0;i<30;i++)
{
add(i);
}
//遍历(溢出的)数组
for(int i=0;i<arr.length;i++)
{
System.out.print(arr[i]+"\t");
}
}
//给add方法传入i
public static void add(int i)
{
//当索引在10的范围的时候,数组还没越界
if(index<=9)
{
//给数组赋值
arr[index]=i;
}else
{
//定义一个新的数组
int[] arr1=new int[index+1];
//
for(int j=0;j<arr.length;j++)
{ //给新定义的数组赋值
arr1[j]=arr[j];
}
//把新数组的地址指向以前的数组
arr=arr1;
//给新的数组赋值
arr[index]=i;
}
//统计数
index++;
}
}
|
|