发布网友 发布时间:2022-04-26 00:48
共3个回答
热心网友 时间:2022-05-02 08:10
你写的这个太混乱,逻辑也乱.我就不给你改代码了,直接提供思路.
实现删除功能,定义数组的时候数组长度应该为总共村存储的DVD数量+1.例如存储6张,长度为7.
在删除之前先输入DVD名称进行循环查找,未赋值的数组成员值为null,当查找到null的时候将下标赋值给一个变量index.并且break.
进行判断.如果index == 6.说明遍历数组以后没任何一个存储的DVD可以与之对应,那么就提示用户.删除的DVD不存在.如果不等于,判断是否已借出.如果借出,提示用户DVD已借出无法删除.否则进入4.
执行循环,将从index开始的所有DVD信息值全部往前覆盖.
for(int i = index;i<dvd.name.length - 1;i++){
dvd[i].name = dvd[i + 1].name;
dvd[i].state = dvd[i + 1].state;
dvd[i].date = dvd[i + 1].date;
}
希望对你有所帮助,欢迎追问.
热心网友 时间:2022-05-02 09:28
看你像是北大青鸟的学生。你首先需要找到你要删除对象的所在数组的下标,然后通过再把这个下标对应的元素赋值为空,再判断如果改下标后是否有不为空的元素,有的话再把后面的每个元素往前移动
热心网友 时间:2022-05-02 11:02
有删除操作的话建议用 ArrayList 等