删除数组中某一项并输出删除后的数组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了删除数组中某一项并输出删除后的数组相关的知识,希望对你有一定的参考价值。

方法一:

package delete;
import java.util.Scanner;
public class delete {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int[] num = new int[]{3,6,9,13};
System.out.print("请输入要删除的数:");
int number = input.nextInt();
boolean isFind =false;
int i;
for (i = 0; i < num.length; i++) {
if(number==num[i]){
isFind=true;
break;//找到了
}

}
if(isFind){
System.out.println("数组中有要删除的数字"+number+",在数组num的第"+(i+1)+"项,下标为"+i);
int[] nums=new int[num.length-1];//后续操作
if(i==num.length-1){
for (int j = 0; j < nums.length; j++) {
nums[j]=num[j];
}
}
else{
for (int j2 = i; j2 < num.length-1; j2++) {
num[j2]=num[j2+1];
}
for (int k = 0; k < nums.length; k++) {
nums[k]=num[k];
}
}
for (int j = 0; j < nums.length; j++) {
System.out.print(nums[j]+"\t");
}
}
else{
System.out.print("数组num中没有要删除的数"+number);//没找到
}
}
}

方法二:

package Delete;
import java.util.Scanner;
public class AnotherMethod {
public static void main(String[] args){
Scanner input=new Scanner(System.in);
int[] num={3,6,9,12,15};
System.out.println("请输入您要删除的数:");
int number =input.nextInt();
boolean isFind =false;
int i;
for (i = 0; i < num.length; i++) {
if(number==num[i]){
isFind=true;
break;
//找到了要删除的数
}
}
if(isFind){
System.out.println("您输入的要删除的数"+number+",在数组num的第"+(i+1)+"项,下标为"+i);
int[] nums=new int[num.length-1];
for (int j = 0; j < nums.length; j++) {
nums[j]=num[j];
if(j==i){
nums[j]=num[j+1];
i++;
}
}
for (int k = 0; k < nums.length; k++) {
System.out.print(nums[k]+"\t");
}
}
else{
System.out.println("您输入的数在数组num中不存在,无法删除");//没找到要删除的数
}
input.close();
}
}

总结:删除数组中某一项并输出删除后的数组这个问题需要考虑到数组的定长性,不能用集合删除某一项的方法。删除数组中某一项,分为几步:

1.输入要删除的项;

2.遍历数组查找是否存在要删除的项;

3.方法一分两种情况①:要删除的项是最后一项,将原数组中的每一项依次赋值给新数组然后输出;②:要删除的项不是最后一项,从要删除的那一项开始将后面的项依次赋值给该数组的前一项,然后把赋值后的数组每一项赋值给新数组并输出。

方法二将删除后的数组直接赋值给新数组中的每一项并输出,省去了方法一中情况②的步骤。方法二的思路是先依次赋值给新数组,等到遇到要删除的那一项通过之前找到的下标将后一项赋值给新数组的前一项就可以了,省去了代码的数量。

第一种方法思路直接容易想到,第二种方法稍微有点绕但能减少代码数量,提高执行效率。

以上是关于删除数组中某一项并输出删除后的数组的主要内容,如果未能解决你的问题,请参考以下文章

JS 删除数组中指定的对象或者删除数组中某一项

js中删除数组中某一项的方法

记录:js删除数组中某一项或几项的几种方法

js中已知数组里面某个值,需要删除这个值怎么实现

前端js,怎么删除数组中的其中一个对象?

js删除数组第一个元素怎么写