程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 代碼-JAVA寫著寫著就懵了,數組怎麼刪除裡面的元素呢

代碼-JAVA寫著寫著就懵了,數組怎麼刪除裡面的元素呢

編輯:編程綜合問答
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;
 }

}

最佳回答:


如果你嫌麻煩的話,可以這樣做哦!!
先把數據轉化為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. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved