java数组插入(添加)数据和删除数据

 数组添加数据的思路:

 数组删除数据的思路:

代码演示:

import java.util.Scanner;

public class java20210906中部添加 {
    public static void main(String[] args) {
        //添加扫描仪
        Scanner input = new Scanner(System.in);

        //定义数组长度
        String[] scres = new String[6];

        //给数组赋值
        scres[0] = "a";
        scres[1] = "b";
        scres[2] = "c";
        scres[3] = "d";

        System.out.println("没添加前:");
        for (int i = 0; i < scres.length; i++) {
            System.out.println(scres[i]);
        }

        //换行
        System.out.println();

        System.out.println("请输入要添加数据的下标:");
        int Numtamp = input.nextInt();

        System.out.println("请输入添加的值:");
        String addtampzhi = input.next();

        showMiddleAdd(scres, Numtamp, addtampzhi);//数组,插入的位子,出入的数据

        System.out.println("添加后:");
        for (int i = 0; i < scres.length; i++) {
            System.out.println(scres[i]);
        }

        //换行
        System.out.println();

        System.out.println("没删除之前:");
        for (int i = 0; i < scres.length; i++) {
            System.out.println(scres[i]);
        }

        System.out.println("请输入您要删除数据的下标:");
        int dc = input.nextInt();

        showDele(scres, dc);//数组名,输出数据的下标

        for (int i = 0; i < scres.length; i++) {
            System.out.println(scres[i]);
        }

    }

    public static void showMiddleAdd(String[] scres, int index /*下标*/, String addData) {//
        //定义一个变量来计算数组的真实长度
        int l = 0;

        //遍历 求数组真实长度
        for (int i = 0; i < scres.length; i++) {
            String system = scres[i];
            if (system != null) {
                l++;
            } else {
                break;
            }
        }

        //循环;  插入数据数据并数据后移
        if (l != scres.length) {//如果数组真实长度 不等于 数组长度 将执行下列代码
            //数据后移
            for (int i = l - 1; i >= index; i--) { // l为数组真实长度  index 要插入的数据
                int addtamp = i + 1;
                scres[addtamp] = scres[i];
            }
            //插入数据
            scres[index] = addData;
        } else {//如果数组真实长度 等于 数组长度 提示数组已满 不可以添加 将不执行后面方法
            System.out.println("数组长度已满,无法添加!");
            return;
        }


    }

    public static void showDele(String[] scres, int index /*下标*/) {
        //定义一个变量来计算数组的真实长度
        int l = 0;

        //遍历 求数组真实长度
        for (int i = 0; i < scres.length; i++) {//如果数组真实长度 不等于 数组长度 将执行下列代码
            String system = scres[i];
            if (system != null) {
                l++;
            } else {
                break;
            }
        }

        //循环;     删除数据并数据前移
        //数据前移
        for (int i = index; i <= l - 1; i++) {
            scres[i] = scres[i + 1];
        }
        //删除最后一个数据    用数组 真实长度-1 得到数组最后一位数,然后让他等于null
        scres[l - 1] = null;
    }
}

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SSOA6

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值