我想要做的是,例如,如果我有一个我要销售的商品列表,每个商品都有一个String名称和int价格,我将它们添加到一个数组(可能是一个数组列表我'我不确定什么会更好,因为我希望它是userinput)并说我添加了许多元素到这个数组:[item1,50,item2,100,item3,200]我想要做的是提取一个例如,item1的商品,其价格为50,并以等于或更大的价格出售,然后将我卖出的100商品放入我销售商品的另一个数组中。我希望能够为每件物品做到这一点。 我甚至不想开始编码,因为我不知道该怎么做。
答案 0 :(得分:0)
您可以将2 ArrayList<Pair<String,Integer>>
一个用于项目,将另一个用于每个输入,将new Pair(yourItemNAme,price)
添加到ArrayList
然后针对每个已售出的商品检查价格是否大于或等于商品price
,然后将其从items list
中删除,并将其name
添加到新的price
sold list
。
答案 1 :(得分:0)
只要每个项目都是唯一的,我就会使用Map
:
比如我说:
然后,我想跟踪我有多少物品,以及销售的物品:
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技能。
使用这样的方法,您可以根据需要扩展和添加每个项目的其他代码,然后您可以使用各种方法来跟踪项目,包括销售。
希望这有帮助!