数组的扩充原理
假设现在有String[] arr=new String[3];
arr[]={"哥哥","弟弟","妹妹"};
然后现在数组添加一个String类型的"姐姐",但是现在数组的长度已经满了,应该如何添加,这就体现了次方法的重要性,运要的知识点有返回值和参数
public String[] arrAdd(String[] arr,String addstr){
String arr1[] = new String[arr.length+1];
//现在创建一个数组,这个长度比arr数组长度+1,因为你要添加addstr这个String类型,所以要给
//它留个数组空间
for (int i = 0;i<arr.length;i++){//现在循环把arr数组里面的数值放到新建的arr1数组里面
arr1[i] = arr[i];
}
arr1[arr1.length-1] = addstr;//现在把要添加的addstr数值放到arr1里面
//因为数组是从0下标开始的,现在插入的数是它的长度-1的下标
//例如a[]的长度为3,现在要在最后一位数加入一个数,但是
//数组是从0下标开始的,只有0,1,2下标
//所以a[a.length-1]等于a[3-1]等于a[2]的下标;
return arr1;
}
public static void main(String[] args) {
tools aa=new tools();//创建对象
Scanner input=new Scanner(System.in);
String Fam[]= {"哥哥","弟弟"};
System.out.println("你想添加几个人?");
int t=input.nextInt();
for(int i=0;i<t;i++) {//每次循环添加人数
String aer=input.next();
Fam=aa.arrAdd(Fam,aer);//是把这个地址给到Fam,具体内容待更新
}
for(int i=0;i<Fam.length;i++) {//循环输出
System.out.print(Fam[i]+"\t");
}
// System.out.println(arr[1]);
}
}