在这种情况下,可以通过从另一个类调用方法来更新静态变量吗?JAVA
喂,我的商店类有这个信息在这种情况下,可以通过从另一个类调用方法来更新静态变量吗?JAVA,java,class,methods,static,instances,Java,Class,Methods,Static,Instances,喂,我的商店类有这个信息 public class Store { private Product product1, product2, product3; private static int productCount = 0; public Store() { product1 = new Product(); product2 = new Product(); product3 = new Product();
public class Store {
private Product product1, product2, product3;
private static int productCount = 0;
public Store() {
product1 = new Product();
product2 = new Product();
product3 = new Product();
}
public void setData(String name, int demand, double setup, double unit,
double inventory, double selling) {
if (productCount == 0) {
product1.setName(name);
product1.setDemand(demand);
product1.setSetUpCost(setup);
product1.setUnitCost(unit);
product1.setInvCost(inventory);
product1.setSellPrice(selling);
productCount = 1;
} else if (productCount == 1) {
product2.setName(name);
product2.setDemand(demand);
product2.setSetUpCost(setup);
product2.setUnitCost(unit);
product2.setInvCost(inventory);
product2.setSellPrice(selling);
productCount = 2;
} else if (productCount == 3) {
product3.setName(name);
product3.setDemand(demand);
product3.setSetUpCost(setup);
product3.setUnitCost(unit);
product3.setInvCost(inventory);
product3.setSellPrice(selling);
productCount = 3;
}
}
但是,在我的接口类中
private void enterData() {
// Assume the user put in the required inputs here
Store.setData(name, demandRate, setupCost, unitCost, inventoryCost, sellingPrice );
}
当我尝试使用这段代码时,productCount变量从不从零更改。另外,当我使用另一种方法显示产品数据时,它从不显示任何信息,如名称等(就好像从来没有输入任何内容)。我试图存储此信息的方式有问题
我只想为3种产品设置数据,但我的程序不会存储任何信息。我的一个猜测是,我不能静态地尝试解决存储产品信息的非静态方法。如果是这样的话,我很困惑我怎么能只存储三种产品的信息
除此之外(假设您现在可以存储3种产品的产品信息),我想询问用户,如果他们尝试添加信息超过3次,是否希望返回主菜单(a.run()方法)或替换其中一种产品的产品信息(现在已满)。我不知道该怎么做
谢谢。您提供的代码甚至不应该编译 你需要像这样的东西:
public class YourInterfaceClass {
private Store store = new Store();
...
private void enterData() {
// Assume the user put in the required inputs here
store.setData(name, demandRate, setupCost, unitCost, inventoryCost, sellingPrice );
}
}在这种情况下,您可以从实例方法访问静态数据成员,这很好。但是,客户端代码似乎正在以静态方法访问setData(),这将引发编译器异常。这是您正在编译和运行的实际代码吗?您是否尝试创建存储对象,然后对其应用setData?