程序员Java

Java数组写的管理系统删除思路

2020-09-28  本文已影响0人  花伤情犹在

数组的特征:

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();

}

}

上一篇 下一篇

猜你喜欢

热点阅读