gpt4 book ai didi

java - 如何在 arraylist 中使用先前定义的类

转载 作者:行者123 更新时间:2023-12-01 23:11:50 26 4
gpt4 key购买 nike

我正在编写一个 java 库存问题的补充,该问题使用 arraylist 编写在库存中添加、搜索等项目的方法。

我正在使用另一个名为 InventoryItem 的类,它具有 sku、itemName、price 和 stock 变量。

我想知道我在使用以前定义的类编写添加项目的方法时是否走在正确的轨道上。

import java.util.*;

public class Warehouse {

private ArrayList<InventoryItem> inventory = new ArrayList<InventoryItem>();

public static void addItem(InventoryItem i )

inventory.add(i);

}

public static void main(String [] args) {

addItem();

}
}

这是 InventoryItem 类;

public class InventoryItem {

private int sku;
private String itemName;
private double price;
private int stock;



public InventoryItem (int sku, String itemName, double price, int stock) {

this.sku = sku;
this.itemName = itemName;
this.price = price;
this.stock = stock;

}

public int getSku() {

return sku;

}


public String getitemName () {

return itemName;

}

public void setPrice (double price) {

this.price = price;

}

public double getPrice () {

return price;

}

public void setStock(int stock) {

this.stock = stock;

}


public int getStock() {

return stock;

}
@Override
public String toString() {

return String.format("[%d ,%s ,%1.2f ,%d]", sku, itemName, price, stock);

}

public static void main(String[] args) {
InventoryItem itemName = new InventoryItem(1, "asdf", 2.4, 5);
System.out.println(itemName);

}

}

最佳答案

addItem() 方法的主要问题是它是静态,因此它无法访问warehouse list,它是一个实例变量,只能从实例访问。

要解决此(和其他)问题,请尝试以下操作:

public class Warehouse {
private List<InventoryItem> inventory = new ArrayList<InventoryItem>();

public void addItem(InventoryItem i)
inventory.add(i);
}

public static void main(String [] args) {
// create a Warehouse instance
Warehouse warehouse = new Warehouse();
// create an InventoryItem instance
InventoryItem i = new InventoryItem(sku, itemName, price, stock);
// add the InventoryItem to the Warehouse
warehouse.addItem(i);
}
}

关于java - 如何在 arraylist 中使用先前定义的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21813124/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com