不能删除或者说赋值为null ,我该添加点什么代码进去才能实现呢,还要朝前移动一位怎么解决我感觉我自己基础不行了,求大神指明一个学习方向import java.util.*;import javax.swing.text.StyledEditorKit.ForegroundAction;public class dvdMgr {Scanner input=new Scanner(System.in);DVD[] dvd=new DVD[50];public void sta(){dvd[0]=new DVD();dvd[0].name="小马哥的春天";dvd[0].state=0; dvd[1]=new DVD();
dvd[1].name="鬼妈妈";
dvd[1].state=0;
dvd[2]=new DVD();
dvd[2].name="拉斯维加斯3";
dvd[2].state=0;
}
public void add()
{
System.out.println("请输入要添加的DVD");
String name=input.next();
for (int i = 0;i<dvd.length ; i++)
{
if(dvd[i]==null)
{
dvd[i]=new DVD();
dvd[i].name=name;
System.out.println("添加成功!");
break;
}
else if(i==dvd.length-1)
{
System.out.println("添加失败,列表已满");
}
}
}
/**
*
*/
public void export()
{
for (int i = 0; i < dvd.length; i++)
{
if(dvd[i]!=null)
{
System.out.println("序号\t状态\t名称\t借出日期\n");
System.out.println((i)+"\t"+(dvd[i].state==0?"可借\t":"已借出\t")+dvd[i].name+"\t"+dvd[i].date);
}
}
}
public boolean delete()
{
boolean index=false;
int ret=-1;
System.out.println("请输入要删除的DVD:");
String name=input.next();
for (int i = 0; i < dvd.length; i++)
{
if(dvd[i].name.equals(name))
{
ret=i;
index=true;
System.out.println("删除成功DVD!");
break;
}
else
{
System.out.println("没有找到要删除的DVD");
}
}
return index;
}}
2 回答
一只甜甜圈
TA贡献1836条经验 获得超5个赞
如果你嫌麻烦的话,可以这样做哦!!
先把数据转化为List,然后使用List的remove方法进行删除,最后再使用list的toArray方法,转化为数组。。。
如果不嫌麻烦的话,那就去复习下数据结构中的线性表。
删除数据a[]中的一个元素,比如说i
1.判断i是否越界
2.然后将a[i]置空
3.循环:
for(int j=i;i<a.length;i++){
让a[j]和a[j+1]调换位置
}
然后,就OK了!
建议学数据结构的时候,可以去看看Java里面对那几个常用的数据结构的实现,一来可以看看大神的代码是怎么写的,二来对于深刻了解数据结构很有帮助!
添加回答
举报
0/150
提交
取消