java基础之一维数组元素的插入
1.先对数组进行排序(Arrays.sort(数组名) );
2.对数组扩容:定义一个新数组接收原数组,int [] 新数组名=Arrays.copyOf(原数组名,num.length+1);
3.定义一个index用来保存插入位置的下标;
4. 输入新元素a,用for循环,里面加一个if,判断条件是数组中任一元素>a,找到下标。
5.新建一个for循环,自插入位置元素起(不包含即i>index)向右所有元素都向右移一位(因为之前扩容过一位,最后一个元素为0,所以长度是正好的);
6.将新数组下标为index的元素赋值为插入的元素;
7.输出新数组即可。
实例:
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] scores = { 99, 85, 82, 63, 60 };
Arrays.sort(scores);
int[] scores1 = Arrays.copyOf(scores, scores.length + 1);
int index = 0;
System.out.println("请输入新增成绩:");
int a = sc.nextInt();
for (int i = 0; i < scores1.length; i++) {
if (scores[i] > a) {
index = i;
break;
}
}
for (int i = scores1.length - 1; i > index; i--) {
scores1[i] = scores[i - 1];
}
scores1[index] = a;
System.out.println("插入后的成绩下标是:" + index);
System.out.println("插入后的成绩信息是:");
for (int i : scores1) {
System.out.print(i + "\t");
}
}