需求:已知一个数组,删除其中某个元素,其它向左移,最后一位补null值
分析:
1、找出要删除元素的下标,找个变量接收
2、此位置元素后面的元素依次向左移一位
3、补齐最后一位赋值null
4、输出新数组
/** * */ package com.cn.u4; /** * @author Administrator *删除数组中某个元素值 */ public class DelArray { public static void main(String[] args) { //定义数组 String[] phones={"iphone4","iphone4s","iphone5","iphone5s","iphone6"}; //找到被删除的元素值 int index=-1;//这个值一定要定义在外面,因为后面还要用 for(int i=0;i<phones.length;i++){ if(phones[i].equals("iphone4s")){//我决定删除这个元素值 index=i; break; } } System.out.println("index="+index); //其实删除,不一定非要delete,右边值向左移把它覆盖也是一种删除它的方法 //开始移位啦 if(index!=-1){ for(int i=index;i<phones.length-1;i++){//这里要把index坐标后面的每个向前移1位 phones[i]=phones[i+1];//后一位移动前一位,就是赋值 } phones[phones.length-1]=null;//最后一位就空了,给它个null吧,这里也是赋null给最后一个元素 }else{ System.out.println("没有你要删除的内容!"); } //删除后遍历元素值 for(int i=0;i<phones.length;i++){ System.out.print(phones[i]+" "); } } }