A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

黑马.chl

初级黑马

  • 黑马币:

  • 帖子:

  • 精华:

© 黑马.chl 初级黑马   /  2019-6-26 21:18  /  549 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*
* 需求:
* 给定一个数组,在指定索引位置插入指定的值
*
* 分析:如果给的索引不在新数组中,结束程序
* 定义一个新数组
* 如果索引在新数组中,索引前的元素正常赋值,索引后的元素索引+1
* 定义一个方法 参数是索引  和 一个数组  返回值类型void
* 使用for循环赋值
*
* */
public class Test11 {
    public static void main(String[] args) {
        int[] arr = {1,3,5,7,9,11};
        boolean b=fn(5,100,arr);
        if(b==true){
            System.out.println(b);
        } else{
            System.out.println("插入数据失败,请检查索引是否正确");
        }

    }
    //定义一个方法 参数是索引  和 一个数组  一个数 返回值类型boolean
    public static boolean fn(int index,int num,int[] arr){
        //定义一个新数组
        int[] brr = new int[arr.length+1];
        //如果给的索引不在新数组中,结束程序
        if(index<0||index>=brr.length){
            return false;
        }
        //使用for循环赋值
        for (int i = 0; i < arr.length; i++) {
            if(index<=arr.length-1){
                //如果索引小于老数组长度,索引前的元素正常赋值
                if(i<index){
                    brr[i]=arr[i];
                }else{
                    //索引后的元素索引+1赋值
                    brr[i+1]=arr[i];
                }
                //给index位置赋值
                brr[index]=num;
            }else{
                //如果索引大于老数组长度,正常赋值
                brr[i]=arr[i];
                brr[index]=num;
            }
        }
        printArray(brr);
        return true;
    }
    //打印数组
    public static void printArray(int[] arr){
        System.out.print("[");
        for (int i = 0; i < arr.length; i++) {
            if(i==arr.length-1){
                System.out.println(arr[i]+" ]");
            }else{
                System.out.print(arr[i]+", ");
            }
        }
    }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马