Java数组写的管理系统删除思路
数组的特征:
1.数组的长度是不可以改变的
2.数组的元素无法删除只能写成默认值(比如int类型的数组写成默认值为0,String类型的数组默认值写成null)
用Java数组写的管理系统的共同点:用数组写的管理系统都是通过控制台打印出来的
利用这个点可以想出:既然数组无法删除元素,或者只能写成默认值,把删除的元素不打印出来即可,既然是专门针对不打印出来的元素,那么不需要打印的元素肯定要让它们有相同点,这时候可以想到把要删除的元素赋值为默认值就有相同点,再利用判断语句判断出删除的元素通过continue跳过打印即可。

例如上面我要删除Java这门课程,可以通过循环遍历找到这个Java元素,然后把它写成默认值null,最后打印的时候写个判断语句,如果是默认值null那就不打印出来即可。
附上代码:
import java.util.Scanner;
public class 测试 {
public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
String courseArr[] = {"Java","SQL","HTML","C#","PHP","C","C++" };
System.out.println("课程表如下:");
for (int i =0; i < courseArr.length; i++) {
System.out.print(courseArr[i] +" ");
}//遍历打印出来
System.out.print("\n\n请输入课程名称:");
String course = sc.next();//接收名字
boolean flag =true;// 定义程序选择打印的标识
int index = -1;// 定义元素查找标识
for (int i =0; i < courseArr.length; i++) {
if (course.equals(courseArr[i])) {
index = i;// 查找到对应元素后将循环变量 i 的值作为下标传给courseArr
courseArr[index] =null;
}
}
if (index == -1) {
System.out.println("\n提示:相关课程暂未发布!");
flag =false;// 接收到不规则输入后将打印标识设置为false控制相关信息输出
}
if (flag) {
System.out.println("\n移除" + course +"后的课程表:");
for (int i =0; i < courseArr.length; i++) {
if (courseArr[i] ==null) {
continue;
}else {
System.out.print(courseArr[i] +" ");
}
}
}
sc.close();
}
}