日期:2014-05-20 浏览次数:20981 次
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可以直接插入元素到任意位置的。