首页 > 解决方案 > 如何更改具有初始化值的字段的值?

问题描述

这是主类的代码

我不知道如何更新库存。我试过封装。

System.out.println("Cellphone Choice:\niPhone 10: $500\tSamsung: $450\tOppo: $300\n");
System.out.println("Input Name: ");
name = scan.nextLine();
System.out.println("Input Supplier: ");
supp = scan.nextLine();
try {
    do {
        System.out.println("Input Quantity: "+cp.getStock()+" STOCK"); //cp.getStock is initialized=80
        quan = scan.nextInt();
    }while(quan > cp.getStock());
    System.out.println("Input Price of Selected Cellphone: ");
    scan.nextLine();
    price = scan.nextDouble();
} catch(InputMismatchException e) {
    System.out.println("Please Input Number!");
}
cp = new Cellphone(name,supp,quan,price);

这段代码来自我的其他班级

int stockCp = 80;
public void getProductionInfo() {
    System.out.println("Buyer Name: "+name);
    System.out.println("Supplier: "+supplier);
    int qSold = stockCp - quantity;
    System.out.println("Quantity left: "+qSold);
}

所以qSold现在是剩余总库存的新价值。

例如数量是 10,所以我只剩下 70 个库存。

我做了一个do..while循环,以便您可以再次选择手机选项。

getStock由于我之前购买了 10 数量的库存,如何更新到 70。

标签: java

解决方案


我认为您只需要简单地更改线路

int qSold = stockCp - quantity;

stockCp = stockCp - quantity;

如果我理解你的问题是正确的。


推荐阅读