|--作业要求
|--解题思路
1. 题目里面给了5个元素,要插入一个元素,表明数组长度至少为6,所以要先建立一个长度为6的数组
2.对已有数组进行过降序排列----这个不用,因为已经是降序了
3.定义一个变量temp,赋值为-1;在for循环中,使用if对数组进行比对,当满足插入数大于某个下标对应的数是,就将这个下标的数值赋值给前面定义好的变量,同时break跳出循环。
4.在for循环中,以temp为起点,
|--代码内容
import java.util.Scanner;
/**
* @auther::周小龙
* @Description: 删除数
* @program: Xunhuan
* @create: 2019-07-03 10:29
*/
public class Insert {
static Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
int[] scores = new int[6];
scores[0] = 99;
scores[1] = 85;
scores[2] = 82;
scores[3] = 63;
scores[4] = 60;
//题目要求插入88
System.out.println("请输入插入的成绩:");
int newScore = sc.nextInt();
int index = -1;
for (int i = 0; i < scores.length; i++) {
if (newScore > scores[i]) {
index = i;
break;
}
}
System.out.println("应该放入的下标是:" + index);
//数组的倒数第2位开始,逐次向后移动,所以这里是 scores.length-2,
//此操作到index这个变量这里终止,所以 i>=index;
//从后往前操作,所以是i--
for (int i = scores.length - 2; i >= index; i--) {
scores[i+1] = scores[i];
}
scores[index] = newScore;
System.out.println("\n新生成的数组是");
for (int i : scores) {
System.out.print(i+"\t");
}
}
}
|--运行结果
|--错误记录
无