你眼睛好大 2013-06-28 07:45 采纳率: 0%
浏览 2438
已采纳

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 2013-07-11 15: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里面对那几个常用的数据结构的实现,一来可以看看大神的代码是怎么写的,二来对于深刻了解数据结构很有帮助!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序