[英]Can a static variable be updated by calling a method from another class in this circumstance? Java
说,我的商店班级有此信息...
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种产品的产品信息),我想询问用户是否要返回主菜单(.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 );
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.