日期:2014-05-20 浏览次数:20830 次
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); } }
for (int j=no.length-1;j>index;j--){ no[j] = no[j-1]; }
------解决方案--------------------
如果程序能改的话,不妨改用List来做,List可以直接插入元素到任意位置的。