私のプログラムはアイテムの目録です。各アイテムは、10 に達するまでユーザーによって入力され、最後に各アイテムの合計コスト (コスト * 数量) が表示されます。
しかし、特定のアイテムの数量を更新できる必要があります。そこで、どうにかしてユーザーに「どのアイテムを更新しますか?」と尋ねたいと考えています。と「いくら引きますか」ですが、アイテムを特定の数量にリンクする方法がわかりません。その後、更新されたアイテムのリストと更新された総コストを再度表示したいと思います。
として行うことは可能ArrayList
ですか?それとも、別の構造を使用する必要がありますか?
クラスは次のとおりです。
public class StockItem {
String stockItemID;
String stockItemDescription;
double stockItemCostPrice;
double stockItemSellingPrice;
int stockItemQuantityAvailable;
String toString;
int updateItemQuantityAvailable;
StockItem(String stockItemID, String stockItemDescription, double stockItemCostPrice,
double stockItemSellingPrice, int stockItemQuantityAvailable, int
updateItemQuantityAvailable) {
this.stockItemID = stockItemID;
this.stockItemDescription = stockItemDescription;
this.stockItemCostPrice = stockItemCostPrice;
this.stockItemSellingPrice = stockItemSellingPrice;
this.stockItemQuantityAvailable = stockItemQuantityAvailable;
this.updateItemQuantityAvailable = updateItemQuantityAvailable;
}
public void setStockItemID(String stockItemID) {
this.stockItemID = stockItemID;
}
public String getStockItemID() {
return stockItemID;
}
public void setStockItemDescription(String stockItemDescription) {
this.stockItemDescription = stockItemDescription;
}
public String getStockItemDescription() {
return stockItemDescription;
}
public void setStockItemCostPrice(double stockItemCostPrice) {
this.stockItemCostPrice = stockItemCostPrice;
}
public double getStockItemCostPrice() {
return stockItemCostPrice;
}
public void setStockItemSellingPrice(double stockItemSellingPrice) {
this.stockItemSellingPrice = stockItemSellingPrice;
}
public double getStockItemSellingPrice() {
return stockItemSellingPrice;
}
public void setStockItemQuantityAvailable(int stockItemQuantityAvailable) {
this.stockItemQuantityAvailable = stockItemQuantityAvailable;
}
public int getStockItemQuantityAvailable() {
return stockItemQuantityAvailable;
}
public String toString() {
return (stockItemID + "\t" + stockItemDescription + "\t" + " Cost Price: $" + stockItemCostPrice + "\t" + "Selling Price: $" + stockItemSellingPrice + "\t" + "Quantity: " + stockItemQuantityAvailable + "\n");
}
public void setUpdateItemQuantityAvailable(int updateItemQuantityAvailable){
this.updateItemQuantityAvailable = updateItemQuantityAvailable;
}
public int getUpdateItemQuantityAvailable() {
return updateItemQuantityAvailable;
}
そして、方法:
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
ArrayList<StockItem> list = new ArrayList<StockItem>();
for (int i = 0; i < 2; i++) {
System.out.print(" Enter ID: ");
String stockItemID = input.next();
System.out.print(" Enter Item Description: ");
String stockItemDescription = input.next();
System.out.print(" Enter Item Cost Price: ");
double stockItemCostPrice = input.nextDouble();
System.out.print(" Enter Item Selling Price: ");
double stockItemSellingPrice = input.nextDouble();
System.out.print(" Enter Item Quantity Available: ");
int stockItemQuantityAvailable = input.nextInt();
int updateItemQuantityAvailable = (0);
list.add(new StockItem(stockItemID, stockItemDescription, stockItemCostPrice, stockItemSellingPrice, stockItemQuantityAvailable, updateItemQuantityAvailable));
list.
}
System.out.println(list.toString().replace("]", "").replace("[", "").replace(",", "").replace(" ",""));
for (StockItem data : list) {
double totalStockCost = (data.getStockItemQuantityAvailable()- data.getUpdateItemQuantityAvailable()) * (data.getStockItemCostPrice());
System.out.println(("Total Cost for ") + data.getStockItemDescription() + ": $" + totalStockCost);
}