牛骨文教育服务平台(让学习变的简单)
博文笔记

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

创建时间:2017-08-02 投稿人: 浏览次数:10176

今天学了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.length-5;i++){
            array[i]=sc.nextInt();
        }
        //遍历数组
        System.out.print("原数组为:");
        for(int a:array){
            System.out.print("  "+a);
        }
        //向指定的位置插入数
        System.out.println("
请输入插入位置:有效位置为0-----"+(array.length-1));
        int index=sc.nextInt();
        System.out.println("
请输入插入的值-----");
        int num=sc.nextInt();


        //调用静态函数index
        //遍历插入后的数组
            System.out.println("插入元素之后的数组遍历:");
            Insert(index,num,array);
             for(int i=0;i<array.length;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;      
    }
}
//删除数组指定位置的数字。
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.length-5;i++){
            array[i]=sc.nextInt();
        }
        //遍历数组
        System.out.print("原数组为:");
        for(int a:array){
            System.out.print("  "+a);
        }
        //删除在指定位置的数字
        System.out.println("
输入你要删除的位置: 范围在0---"+(array.length-1));
        int index=sc.nextInt();
        delete(index,array);//调用delete方法
        //删除之后的遍历
        System.out.println("删除之后的遍历:");
        for(int i=0;i<array.length;i++){
            System.out.print("  "+array[i]);
        }
    }
    public static int[] delete(int index,int array[]){
        //根据删除索引,把数组后面的向前移一位
        for(int i=index;i<array.length;i++){
            if(i!=array.length-1){
                array[i]=array[i+1];
            }else{//处理最后一位超出情况
            array[i]=array[i];
            }
        }
        return array;
    }
}
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。