从数组中提取元素并减去它们

时间:2015-06-27 21:17:17

标签: java arrays arraylist

我想要做的是,例如,如果我有一个我要销售的商品列表,每个商品都有一个String名称和int价格,我将它们添加到一个数组(可能是一个数组列表我'我不确定什么会更好,因为我希望它是userinput)并说我添加了许多元素到这个数组:[item1,50,item2,100,item3,200]我想要做的是提取一个例如,item1的商品,其价格为50,并以等于或更大的价格出售,然后将我卖出的100商品放入我销售商品的另一个数组中。我希望能够为每件物品做到这一点。 我甚至不想开始编码,因为我不知道该怎么做。

2 个答案:

答案 0 :(得分:0)

您可以将2 ArrayList<Pair<String,Integer>>一个用于项目,将另一个用于每个输入,将new Pair(yourItemNAme,price)添加到ArrayList 然后针对每个已售出的商品检查价格是否大于或等于商品price,然后将其从items list中删除,并将其name添加到新的price sold list

答案 1 :(得分:0)

只要每个项目都是唯一的,我就会使用Map

比如我说:

  1. 苹果
  2. TWIX
  3. 然后,我想跟踪我有多少物品,以及销售的物品:

    Map<String,List<Item>> itemsSold = new HashMap<>();
    

    然后为每个与此类似的项目创建一个Abstract类:

    public abstract class Item {
    
        private String ItemId;
        private double ItemCost;
        private double ItemSellPrice;
        private boolean ItemSold;
    
        public Item(String ItemId, double ItemCost) {
            this.ItemId = ItemId;
            this.ItemCost = ItemCost;
        }
    
        public String getItemId() {
            return ItemId;
        }
    
        public void setItemId(String ItemId) {
            this.ItemId = ItemId;
        }
    
        public double getItemCost() {
            return ItemCost;
        }
    
        public void setItemCost(double ItemCost) {
            this.ItemCost = ItemCost;
        }
    
        public double getItemSellPrice() {
            return ItemSellPrice;
        }
    
        public void setItemSellPrice(double ItemSellPrice) {
            this.ItemSellPrice = ItemSellPrice;
        }
    
        public boolean isItemSold() {
            return ItemSold;
        }
    
        public void setItemSold(boolean ItemSold) {
            this.ItemSold = ItemSold;
        }
    
    }
    

    然后,您可以extend项目为每个项目创建一个类,例如&#34; Apple&#34;和#34; Pear&#34;并设置该类的值。

    Map<String,List<Item>> itemsSold = new HashMap<>();内部您可以使用Array.size()查看有多少&#34; Apples&#34;你有,然后根据你的销售情况添加/获取/删除它们等等。

    Java是一种面向对象的编程语言。为您的项目创建一个漂亮的对象有助于简化您的代码,并提高您的OOP技能。

    使用这样的方法,您可以根据需要扩展和添加每个项目的其他代码,然后您可以使用各种方法来跟踪项目,包括销售。

    希望这有帮助!