猿问

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;
 }

}


素胚勾勒不出你
浏览 412回答 2
2回答

一只甜甜圈

如果你嫌麻烦的话,可以这样做哦!!先把数据转化为List,然后使用List的remove方法进行删除,最后再使用list的toArray方法,转化为数组。。。如果不嫌麻烦的话,那就去复习下数据结构中的线性表。删除数据a[]中的一个元素,比如说i1.判断i是否越界2.然后将a[i]置空3.循环:for(int j=i;i<a.length;i++){让a[j]和a[j+1]调换位置}然后,就OK了!建议学数据结构的时候,可以去看看Java里面对那几个常用的数据结构的实现,一来可以看看大神的代码是怎么写的,二来对于深刻了解数据结构很有帮助!

慕尼黑的夜晚无繁华

可以用repalce替换掉,用空来替换
随时随地看视频慕课网APP

相关分类

Java
我要回答