1 问题
实现动态的给数组添加元素效果,实现对数组扩容,原始数组使用静态分配int[]arr={1,2,3},用户可以通过如下方法决定是否继续添加,添加成功,是否继续?
2 方法
- 第一步先import一个scanner,然后初始化数组arr,再新建一个数组arr2.
- 第二步使用while循环,里面嵌套一个for循环给arr2赋arr的元素,后面给赋值你所添加的值,然后将添加元素后的数组依次打印出来。
- 第三步的操作就是用if语句判断是否要继续添加元素,用户输出n时结束添加元素。
代码清单
import java.util.scanner;
public class arradd {
public static void main(string[] args) {
scanner myccanner=new scanner(system.in);
int arr[]={1,2,3};
while (true){
int arr2[]=new int [(arr.length)+1];
for (int i=0;i<arr.length;i++){
arr2[i]=arr[i];
}
system.out.println("请输入添加的值");
int end =myccanner.nextint();
arr2[arr2.length-1]=end;
arr=arr2;
for (int j=0;j<arr.length;j++){
system.out.print(arr[j]+" ");
}
system.out.println("是否继续添加y/n");
char whether=myccanner.next().charat(0);
if (whether=='n'){
break;
}
}
system.out.println("不再添加");
}
}其他示例
public class demo1 {
static int []array=new int [20];
public static void main(string[] args){
array=addlengtharray(array);
for(int i = 0;i<array.length;i++){
array[i]= i;
system.out.println(array[i]);
}
}
public static int[] addlengtharray(int[] array){
int[] newarray = new int [array.length*2];
//将array数组从0位置至array.length位置,复制到newarray数组0位置到array.length位置。
system.arraycopy(array,0,newarray,0,array.length);
return newarray;
}
}3 结语
到此这篇关于java数组动态扩容的实现示例的文章就介绍到这了,更多相关java数组动态扩容内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论