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. Android bitmap转byte

    逆转start协议输出 private static byte[] bitmap2byte(Bitmap bmp) throws Exception{ return bitmap2byte(bmp, ...

  2. Maven(四-1) Maven的配置文件settings.xml

    转载于:http://www.cnblogs.com/yakov/archive/2011/11/26/maven2_settings.html 概览 当Maven运行过程中的各种配置,例如pom.x ...

  3. Maven编译并打包Mahout CDH版源码

    目录 1. 问题描述 最近在使用Mahout里的推荐算法进行实验,由于业务需求,需要修改Mahout源码,将原本输出到HDFS上的结果输出到HBase中.由于Mahout发布的源码都是Maven项目, ...

  4. Python运维开发基础07-文件基础

    一,文件的基础操作 对文件操作的流程 [x] :打开文件,得到文件句柄并赋值给一个变量 [x] :通过句柄对文件进行操作 [x] :关闭文件 创建初始操作模板文件 [root@localhost sc ...

  5. Air File.load加载问题

    不要用File.load同时加载多个文件,有时会引起程序崩溃. 在需要同时加载多个文件时,要一个一个排队加载,等到上一个加载完成再加载下一个. 也可以设定一个static的File,加载前先File. ...

  6. WebBrowser介绍——Javascript与C++互操作

    WebBrowser控件是Microsoft提供的一个用于网页浏览的客户端控件,WebBrowser控件的使用相当广泛,例如很多邮件客户端都是使用可编辑的WebBrowser控件作为写邮件的工具,也有 ...

  7. cmake条件编译

    CMake的条件编译基于if elseif endif.3.0版本具体语法如下 if(expression) # then section. COMMAND1(ARGS ...) COMMAND2(A ...

  8. golang之包和锁的机制

    互斥锁 同一时刻只有一个携程在操作 package main import ( "fmt" "math/rand" "sync" " ...

  9. PHP实现一维数组转二维数组的方法

    具体实现方法如下: <?php $asr[1] = array("a","b","c","d"); $asr[2] ...

  10. <<高级计算机网络>>(Advaned Computer Networks) 徐恪 徐明伟 陈文龙 马东超

    目录 第1章 计算机网络与Internet1 1.1 引言1 1.2 Internet发展历史2 1.2.1 互联网发展的主要阶段4 1.2.2 互联网在中国的发展5 1.2.3 互联网主要创新5 1 ...