7、数组中添加元素(test5.java)

  前文提到了系统函数,arraycopy(),这是一个强大的函数,根据它的特性便可以看出由于他的特殊性质,加以利用的话,就在数组中添加元素,但这样的方式会造成的结果就是,添加n个元素,那么原数组中倒数n个元素就会丢失。

 

  举个例子,数组中添加元素:

 

 1 //在一个数组中添加一个元素。(解决方案:为了在第i个位置增加一个元素,可以首先把从第i个位置开始的所有元素向后移一个位置,然后插入新值,注意原数组的最后一个元素会丢失。)
 2 
 3 //导入输入所需要的包
 4 import java.util.Scanner;
 5 
 6 public class test5
 7 {
 8     public static void main(String [] arys)
 9     {
10         int [] arr1 = {1,2,3,4,5};
11 
12         Scanner sc = new Scanner(System.in);//创建一个输入流对象
13         System.out.println("请输入要插入的位置:");
14         int index = sc.nextInt();//获取用户输入的整型值
15 
16         System.out.print("请输入您要插入的值:");
17         int num = sc.nextInt();
18 
19         //实现数据的插入
20         //1。将指定位置开始的值往后挪,由于数组长度是不可变的,所以最后一个数会丢失
21         System.arraycopy(arr1,index,arr1,index+1,arr1.length-index-1);
22 
23         //2。将数据添加到指定位置
24         arr1[index] = num;
25 
26         for(int n : arr1)
27         {
28             System.out.print(n+"\t");
29         }
30     }
31 }

 

posted @ 2018-04-24 23:47  zglbt  阅读(1615)  评论(0编辑  收藏  举报