java数组删除指定元素_JAVA中的数组插入与删除指定元素

今天学了Java的数组,写了数组的插入和删除,本人小白,写给不会的小白看,大神请忽略,有错请大家指出来;

/**

给数组指定位置数组的插入

*/

import java.util.*;

public class ArrayInsert{

public static void main(String []args){

System.out.println("请用键盘输入5个数:");

int [] array =new int[10];

Scanner sc=new Scanner(System.in);

//通过键盘向数组输入数

for(int i=0;i

array[i]=sc.nextInt();

}

//遍历数组

System.out.print("原数组为:");

for(int a:array){

System.out.print("  "+a);

}

//向指定的位置插入数

System.out.println("\n请输入插入位置:有效位置为0-----"+(array.length-1));

int index=sc.nextInt();

System.out.println("\n请输入插入的值-----");

int num=sc.nextInt();

//调用静态函数index

//遍历插入后的数组

System.out.println("插入元素之后的数组遍历:");

Insert(index,num,array);

for(int i=0;i

System.out.print("  "+array[i]);

}

}

//向数组指定位置插入数据方法

public static int[] Insert(int index,int num,int a[]){

//如果有元素,在索引之后的元素向后移一位,

for(int   a[i]=a[i-1];

}

a[index]=num;

return a;

}

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

//删除数组指定位置的数字。

import java.util.*;

public class ArrayDelete{

public static void main(String args[]){

System.out.println("请用键盘输入5个数:");

int [] array =new int[10];

Scanner sc=new Scanner(System.in);

//通过键盘向数组输入数

for(int i=0;i

array[i]=sc.nextInt();

}

//遍历数组

System.out.print("原数组为:");

for(int a:array){

System.out.print("  "+a);

}

//删除在指定位置的数字

System.out.println("\n输入你要删除的位置: 范围在0---"+(array.length-1));

int index=sc.nextInt();

delete(index,array);//调用delete方法

//删除之后的遍历

System.out.println("删除之后的遍历:");

for(int i=0;i

System.out.print("  "+array[i]);

}

}

//数组的特性是,一旦初始化,则长度确定,所以要删除数组中元素,并且长度也随着删除而改变,则要重新建立数组

/**

*删除方式1

*/

public int[] delete(int index, int array[]) {

//数组的删除其实就是覆盖前一位

int[] arrNew = new int[array.length - 1];

for (int i = index; i < array.length - 1; i++) {

array[i] = array[i + 1];

}

System.arraycopy(array, 0, arrNew, 0, arrNew.length);

return arrNew;

}

/**

*删除方式2

*/

public int[] delete2(int index, int array[]) {

//数组的删除其实就是覆盖前一位

int[] arrNew = new int[array.length - 1];

for (int i = 0; i < array.length - 1; i++) {

if (i < index) {

arrNew[i] = array[i];

} else {

arrNew[i] = array[i + 1];

}

}

return arrNew;

}

}

---------------------

作者:tangyaya8

来源:CSDN

原文:https://blog.csdn.net/tangyaya8/article/details/76595488/

版权声明:本文为博主原创文章,转载请附上博文链接!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值