简体   繁体   English

Java,如何将一个对象添加到ArrayList并从另一个对象减少一个对象

[英]Java, how to add one object to an ArrayList and decrease one from another

I got my exam tomorrow and I have tried to make code that is supposed to be like a store. 明天我考试了,我试图制作应该像商店的代码。

I'm satisfied with my code, but I'm missing something. 我对我的代码感到满意,但是我缺少了一些东西。 I have made ArrayList with the name lagerplass and handlekurv . 我已经用名称为lagerplasshandlekurv ArrayList做了。 The ArrayList lagerplass is supposed to be like a storage for items in a store, and the ArrayList handlekurv is supposed to be the items customers is wanting to buy. ArrayList lagerplass应该像商店中存储项目的存储,而ArrayList handlekurv应该是客户想要购买的项目。 And this is the problem, I want to find a good way so that when people take items from the store and it goes into handlekurv it will decrease the items in lagerplass , also that u cannot take items into handlekurv without items being in lagerplass would love if someone could help me do this with either changing some methods or adding some! 这就是问题所在,我想找到一种好方法,以便当人们从商店中拿取物品并进入handlekurv ,它将减少lagerplass的物品,而且如果没有放置在lagerplass物品, lagerplass将无法将物品放入handlekurv中如果有人可以通过更改某些方法或添加一些方法来帮助我做到这一点!

Here is the code for Varer: 这是Varer的代码:

public class Varer
{
// Representerer merke og pris til en vare.
private String vare; // Representerer selve varen
private String merke; // Representerer merket som er satt fast til Razor
private int pris; // Representerer prisen til varen
private String varenavn; // Representerer varenavnet altså : Naga, Mamba, Kraken osv.

/**
 * Constructor for klassen Varer
 */
public Varer(int pris, String varenavn, String vare)
{
    merke = "Razor";
    this.pris = pris;
    this.varenavn = varenavn;
    this.vare = vare;

}

/**
 * Returner merket
 * @return merke
 */
public String getMerke()
{
    return merke;
}
/**
 * Returnerer pris
 * @return pris
 */
public int getPris() 
{
    return pris;
}
/**
 * Returnerer varenavn altså: Kraken, Tiamat, Naga osv.
 * @return varenavn
 */
public String getVarenavn()
{
    return varenavn;
}
/**
 * Returner selve varen
 * @return vare
 */
public String getVare()
{
    return vare;
}
/**
 * Returnerer alle detailjene til varen
 * @return vare, merke, varenavn, pris
 */
public String getDetails()
{
    return vare + ", " + merke + " " + varenavn + ", " + pris + " kr.";
}
/**
 * Returnerer alle detailjene til varen
 */
public void printDetails()
{
    System.out.println(vare + ", " + merke + " " + varenavn + ", " + pris + " kr.");
    System.out.println();
}

} }

Here is the code for Handlekurv: 这是Handlekurv的代码:

public class Handlekurv
{
//Opretter en liste med variablet Varer og objektet handlekurv
public ArrayList<Varer> handlekurv;

/**
 * Constructor for objects of class Handlekurv
 */
public Handlekurv()
{
    // Lager en ArrayList med variabelen varer
    handlekurv = new ArrayList<Varer>();
}

/**
 * Metode for å legge til varer i Handlekurven!
 * @see Varer
 */
public void addVarer(Varer vare)
{
    handlekurv.add(vare);
}
/**
 * Denne metoden printer ut hva du har i handlekurven
 * @see Varer
 */
public void printHandlekurv()
{
    for (Varer a : handlekurv)
    {
        System.out.println (a.getDetails());
        System.out.println();
    }
}
/**
 * Fjerner alt i handlekurven
 *@see Varer
 */
public void fjernHeleHandlekurv()
{
    handlekurv.clear();
}
/**
 * Returnerer størelsen av listen
 */
public int handlekurvSize()
{
    return handlekurv.size();
}
/**
 * Fjerner spesifikke varer i handlekurven
 * @see Varer
 */
public void fjernEnkeltHandlekurv(String fjernHandlekurv)
{
    Iterator<Varer> it = handlekurv.iterator();
    while (it.hasNext()) {
        Varer t = it.next();
        String varenavn = t.getVarenavn();
        if (varenavn.equals(fjernHandlekurv)) {
            it.remove();
            System.out.println("Du har fjernet: " + fjernHandlekurv+" " + "fra handlekurven din");
        }
    }
}

} }

And here is the code for Butikk: 这是Butikk的代码:

public class Butikk
{
// Lager en ArrayList med variablen Varer
public ArrayList<Varer> lagerplass;
Handlekurv hk = new Handlekurv();

/**
 * Constructor for klassen Butikk, oppretter ny ArrayList av variablen Varer
 */
public Butikk()
{

    lagerplass = new ArrayList<Varer>();
}

/**
 * Opretter et nye headset og legger denne i lagerplass listen
 * @parm lyd, vare, pris, varenavn
 */
public void nyHeadset(String lyd, String vare, int pris, String varenavn )
{

    Headset nyHeadset = new Headset ( lyd, vare, pris, varenavn);
    lagerplass.add(nyHeadset);

}
/**
 * Opretter et nye mus og legger denne i lagerplass listen
 * @parm vare, pris, varenavn, dpi
 */
public void nyMus(String vare, int pris, String varenavn, int dpi)
{
    Mus nyMus = new Mus(vare, pris, varenavn, dpi);
    lagerplass.add(nyMus);
}
/**
 * Printer ut alle varene i lagerplass listen
 *@see Varer klassen og metoden printDetails
 */
public void printLagerplass()
{
    for (Varer vare : lagerplass)
    {
        vare.printDetails();
    }
}

/**
 * Fjerner alt i lagerplass listen
 */
public void fjernHeleLagerplass()
{
    lagerplass.clear();
}
/**
 * Legger til en vare fra lagerplass til handlekurv
 * @see klassen Varer og metoden getVarenavn
 * @see klassen Handlekurv og metoden addVarer
 */
public void leggTilHandlekurv(String varenavn)
{
    for (Varer a : lagerplass) 
    {
        if (a.getVarenavn().equals(varenavn))
        {
            hk.addVarer(a);
        }
    }
}
/**
 * Printer ut alt i handlekurv listen
 */
public void printHeleHandlekurven()
{
    hk.printHandlekurv();
}
/**
 * Fjerner alt i handlekurv listen
 */
public void FjernHeleHandlekurven()
{
    hk.fjernHeleHandlekurv();
}
/**
 * En metode for å fjerne en enkelt vare fra lagerplass listen.
 */
public void FjernEnkeltVarer(String fjernVarenavn)
{
    Iterator<Varer> it = lagerplass.iterator();
    while (it.hasNext())
    {
        Varer vare = it.next();
        String varenavn = vare.getVarenavn();
        if (varenavn.equals(fjernVarenavn))
        {
            it.remove();
        }
    }
}

 public void fjernEnkeltHandlekurv(String fjernHandlekurv)
{
    hk.fjernEnkeltHandlekurv(fjernHandlekurv);

}

} }

I think this is what you want: 我认为这是您想要的:

public class Butikk {

  ...

  /**
   * ...
   *
   * @return found
   */
  public boolean leggTilHandlekurv(String varenavn) {
     for (Varer a : lagerplass) {
        if (a.getVarenavn().equals(varenavn)) {
            lagerplass.remove(a);
            hk.addVarer(a);
            return true;
        }
     }
     return false;
  }

  ...

}

If you are searching for products mainly through their name, then I would use a HashMap<String, Varer> with name as key to store the products. 如果您主要通过产品名称搜索产品,那么我将使用HashMap<String, Varer> (名称作为关键字)来存储产品。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何使用Java将数据从一个ArrayList添加到另一个ArrayList? - How to add data from one ArrayList to another ArrayList using Java? Java如何在将一个对象添加到另一个ArrayList时将其删除? - Java how to remove an object from one ArrayList while adding it to another? 将创建的对象从一个类传递到另一个类并添加到ArrayList? - Pass a created object from one class to another and add to ArrayList? 如何将 object(在这种情况下为 arraylist)从一个片段发送到 java(Android)中的另一个片段 - How to send an object (an arraylist in this situation) from one fragment to another fragment in java (Android) 如何基于Java中对象的一个​​成员变量从数组列表中删除另一个数组列表中存在的对象? - How do I remove objects from an arraylist which are present in another arraylist based on one member variable of the object in Java? 如何将一个 ArrayList 中的元素添加到另一个? - How do you add elements from one ArrayList to another? 如何将 object 从一个 class 存储到另一个 ZA2F2ED4F8EBC2CBB4C21A29DC40AB6 的 arraylist 中 - How to I store an object in an arraylist from one class in another class 将零从一个ArrayList添加到另一个 - Add zeros from one ArrayList to another 如何在Java中将数组列表从一个类复制到另一个类? - How do I copy an arraylist from one class to another in Java? 如何在java中将元素的值从一个arraylist分配和存储到另一个arraylist - How to assign and store value of element from one arraylist to another in java
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM