gpt4 book ai didi

java - 库存跟踪器中的方法存在问题

转载 作者:行者123 更新时间:2023-11-30 07:51:02 27 4
gpt4 key购买 nike

这是我关于堆栈交换的第一篇文章,所以我不太确定您需要什么,但这是我的问题:

我正在为我的 java 类创建一个库存跟踪器,但遇到了一个问题,我无法使用 addItem(Item newItem) 方法,因为类 Inventory 不是静态的并且没有构造函数。我们有一个 UML 图 uml diagram

我们应该继续工作,它不包含 Inventory 的构造函数,也没有提及静态。

我不太确定您还需要什么,但我们将不胜感激!

谢谢!

public class InventoryTrackerInterface {

public Inventory inv;

public static void main(String[] args) {
//test item
Item b1 = new Item("abc",1,123,"01345");
}
}

public class Inventory {

private Item[] itemArray;
private int totalItems = 0;

public int getTotalNumberOfItems() {
return totalItems;
}

public Item getItem(int index) {
if (index < 0 || index >= totalItems) {
return null;
} else {
return itemArray[index];
}
}

public void addItem(Item newItem) {
if (newItem == null) {
System.out.println("Item not added.");
} else {
itemArray[totalItems] = newItem;
totalItems++;
}
}

public void saveInventoryToFile(String fileName) {
}

public void loadInventoryFromFile(String fileName) {
}
}

public class Item {

private String name;
private int quantity;
private double price;
private String upc;

private Item() {



}


public Item(String name, int qty, double price, String upc) {



}


public String getName() {

return name;

}


public int getQuantity() {

return quantity;

}

public double getPrice() {

return price;

}

public String getUPC() {

return upc;

}
}

最佳答案

您不需要显式定义构造函数来实例化类。在这种情况下,会自动创建默认构造函数。UML 图通常只会在您需要带参数的情况下指示构造函数,例如 Item 的情况。

您可以将 inv 属性定义为静态:

public class InventoryTrackerInterface
{
public static Inventory inv;

public static void main(String args[])
{
// Test items
Item b2 = new Item("abc",1,123,"01345");
Item c2 = new Item("dfe",2,456,"56789");

// Inventory object
inv = new Inventory();

inv.addItem(b2);
inv.addItem(c2);

}
}

或者通过 InventoryTrackerInterface 实例访问它:

public class InventoryTrackerInterface
{
public Inventory inv;

public static void main(String args[])
{
// Test items
Item b2 = new Item("abc",1,123,"01345");
Item c2 = new Item("dfe",2,456,"56789");

InventoryTrackerInterface instance = new InventoryTrackerInterface();

// Inventory object
instance.inv = new Inventory();

instance.inv.addItem(b2);
instance.inv.addItem(c2);

}
}

关于java - 库存跟踪器中的方法存在问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33338530/

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