package com.hxzy.demo;

import java.util.Arrays;
import java.util.Scanner;

public class Demo1 {

public static void main(String[] args) {
        // TODO Auto-generated method stub
        int[] array = {1, 6, 7, 5, 9, 8, 3, 4, 2};
        
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入放入的数字");
        int num = sc.nextInt();
        
        System.out.println("请输入放入数字的下标");
        int index = sc.nextInt();
        sc.close();
        if (index > array.length || index < 0) {
            System.out.println("输入的下标太大或不合法");
            return;
        }
        
        arrayInterposition(array, index, num);
        
    }
    
    /**
     * 将指定数字添加到指定下标上
     * @param array int类型的数组
     * @param index int类型 指定放入的下标
     * @param num int类型 指定放入的数字
     * @return 返回true表示方法运行成功返回false表示方法运行失败
     */
    public static boolean arrayInterposition(int[] array, int index, int num) {
        //参数合法性判断
        if (null == array || array.length == 0 || index < 0) {
            System.out.println("输入的参数不合法");
            return false;
        }
        
        //复制一个长度+1的数组
        int[] arr = Arrays.copyOf(array, array.length + 1);
        
        //循环将数字后移
        for (int i = arr.length-1; i > index; i--) {
            arr[i] = arr[i - 1];
        }
        
        //将指定数字放到指定下标上
        arr[index] = num;
        
        //输出数组
        System.out.println(Arrays.toString(arr));
        return true;
        
    }

}

java中数组的插入的更多相关文章

  1. Java中数组的插入,删除,扩张

    Java中数组是不可变的,但是可以通过本地的arraycop来进行数组的插入,删除,扩张.实际上数组是没变的,只是把原来的数组拷贝到了另一个数组,看起来像是改变了. 语法: System.arrayc ...

  2. java中数组的相关知识

      1. 2.数组的命名方法 1)int[]ages=new int[5]; 2) int[]ages; ages=new int[5]; 3)int[]ags={1,2,3,4,5}; 4)int[ ...

  3. Java中数组的特性

    转载:http://blog.csdn.net/zhangjg_blog/article/details/16116613 数组是基本上所有语言都会有的一种数据类型,它表示一组相同类型的数据的集合,具 ...

  4. 在java 中,数组与 List<T> 类型的相互转换

    在java中,数组与List<T> 之前进行互相转换,转换方法可总结为以下几种: 一. 将 数组转换成List<T> 1. 使用 Collections 的addAll 方法 ...

  5. Java中数组的初始化方式

    Java中数组的初始化方式    初始化方式有两种: 1.静态初始化:初始化时由程序猿显式指定每一个数组元素的初始值,由系统指定数组长度 2.动态初始化:初始化时由程序猿仅仅指定数组长度,由系统为数组 ...

  6. java中数组复制的两种方式

    在java中数组复制有两种方式: 一:System.arraycopy(原数组,开始copy的下标,存放copy内容的数组,开始存放的下标,需要copy的长度); 这个方法需要先创建一个空的存放cop ...

  7. java中数组、集合、字符串之间的转换,以及用加强for循环遍历

    java中数组.集合.字符串之间的转换,以及用加强for循环遍历: @Test public void testDemo5() { ArrayList<String> list = new ...

  8. Java 中数组的内存分配

    Java 中数组的内存分配 1.Java 程序在运行时,需要在内存中分配空间.为了提高运算效率,就对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据和内存管理方式. 2.数组基本概念 数组是 ...

  9. 将java中数组转换为ArrayList的方法实例(包括ArrayList转数组)

    方法一:使用Arrays.asList()方法   1 2 String[] asset = {"equity", "stocks", "gold&q ...

随机推荐

  1. Spring cloud config-client 爬坑

    配置文件 找不到属性 Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'from' in st ...

  2. window.addEventListener()/window.postMessage(”text“, '*')

    1.设置监听 window.addEventListener('message', function (msg) { console.log(msg.data);}) 2.发送 message win ...

  3. 自学jquery,下午实现前后台交互--成为牛逼的女程序员

    希望周末能够把搜索质量对比的页面做出来!!! 牛逼的薰衣草程序员,fighting

  4. bloom

    bloom bloom也能实现和HDR类似的效果,但bloom的是静态的,HDR是动态渐变的, bloom在细节表现.明暗对比不如HDR,但实现HDR效果的系统资源开销也比 bloom大,bloom也 ...

  5. linux 安装php7 Nginx

    这里 记录下 本屌安装linux  下安装php7 即遇到的问题. wget http://cn2.php.NET/distributions/php-7.0.4.tar.gz tar zxvf ph ...

  6. [转].NET 4.5+项目迁移.NET Core的问题记录 HTTP Error 502.5

    本文转自:http://www.cnblogs.com/ronli/p/5900001.html 这几天试着把目前的开发框架迁移到新的.net core平台,中间遇到的问题在这里简单记录一下. 迁移过 ...

  7. VMware CentOS LVM磁盘扩容

    一. 在虚拟机上增加磁盘空间 如下图. 增加完后会有提示 "磁盘已成功扩展.您必须从客户机操作系统内部对磁盘重新进行分区和扩展文件系统.是继续完成以下步骤才算成功. 二.调整虚拟机磁盘LVM ...

  8. mysql中timestamp简单用法

    该时间字段有比较特殊的地方,显示内容datetime字段一样.当取值为null或者不赋值时,显示当前系统时间,然后在其他地区读取的时候会根据当地的时间转换成当地的系统时间.

  9. Socket发送文件

    .Net.cs using System; using System.Collections.Generic; using System.IO; using System.Linq; using Sy ...

  10. 12 Overlap Graphs

    Problem A graph whose nodes have all been labeled can be represented by an adjacency list, in which ...