首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

向数组中插入元素解决方法

2012-05-30 
向数组中插入元素编写程序。向整形数组的指定位置插入元素,并输出插入前后数组的值。我写了好多次,不能让数

向数组中插入元素
编写程序。向整形数组的指定位置插入元素,并输出插入前后数组的值。

我写了好多次,不能让数组位置后移一位。。。

Java code
package cn.puruidong.accp_14;/** * @author PuRuidong * */import java.util.Scanner;public class Fivenum {    /**     * @param args     */    private int num [] = new int[] {10,20,30,55,99};//原数组    private int no [] = new int [num.length+1];//新数组    private static Scanner sc = new Scanner (System.in);    private static int index ;//录入想插入的位置    private static int value ;//录入想插入的值        public void show (int index ,int value){ ////这里面的int index,和int value是什么含义?我迷糊了        ////////////输出插入前的数组        System.out.println("插入前的数组:");        for (int i=0;i<num.length;i++){//输出插入前的数组            System.out.print(num[i]+" ");        }        /////赋值数组        for (int c=0;c<num.length;c++){            no[c] = num[c];        }        System.out.println();        System.out.println("请输入想插入的位置(0~5):");        index = sc.nextInt(); //录入想插入的位置        System.out.println("请输入想插入的数值:");        value = sc.nextInt(); //录入想插入的值        for (int j=no.length-1;j>index;j++){ ////元素后移,就是这出问题了。。。            no[j] = no[j-1];        }        no[index] = value; //将 value的值放在index位置        System.out.println("插入后的数组:");        /////输出插入后的数组        for (int k=0;k<no.length;k++){            System.out.println(no[k]);        }    }        public static void main(String[] args) {        // TODO Auto-generated method stub    Fivenum center = new Fivenum ();    center.show(index, value);    }}


[解决办法]
Java code
 for (int j=no.length-1;j>index;j--){             no[j] = no[j-1];        }
[解决办法]
如果程序能改的话,不妨改用List来做,List可以直接插入元素到任意位置的。

热点排行