2 u010844976 u010844976 于 2013.06.28 15:45 提问

JAVA写着写着就懵了,数组怎么删除里面的元素呢

不能删除或者说赋值为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个回答

wengmeishi
wengmeishi   2013.07.11 23:06
已采纳

如果你嫌麻烦的话,可以这样做哦!!
先把数据转化为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里面对那几个常用的数据结构的实现,一来可以看看大神的代码是怎么写的,二来对于深刻了解数据结构很有帮助!

malonghenaini
malonghenaini   2013.07.11 17:28

可以用repalce替换掉,用空来替换

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!