Java,数组的setter方法.两个班



我需要在class B中创建一个SETTER方法,为存储在class a中定义的数组中的特定Product对象设置新价格。有人能帮我完成这个基本的java代码吗?让我们假设我们创建了产品苹果,我们需要改变它的价格。我需要使用类似的东西:

setPrice (product name, price);

这是一个场景:

Class A
public class Store(){
Store(Product aProduct){
products = new ArrayList< Product> ();
}
}
Class B
private String name;
private int price;
public class Product {
Product ( String aName, int aPrice) {
name = aName;
price = aPrice;
}
}

非常感谢。

public class Store(){
    List<Product> products;
    Store(){
        products = new ArrayList<Product>();
    }
    public addProduct(product){
        products.add(product)
    }
    public boolean setPrice(String productName,int price){
        for(Product product: products){
            if(product.name.equalsIgnoreCase(productName) ){
                product.price = price;
                return true;
            }
        }
        return false;
    }
}

public class Product {
    private String name;
    private int price;
    Product (String aName, int aPrice) {
        this.name = aName;
        this.price = aPrice;
    }

}

希望这能帮助

要使其成为一个有效的解决方案,还需要实现更多的功能。以下是您需要做的一些事情:

A类:

  • 声明产品变量
  • 创建用于查找产品的方法(foreach循环,将产品名称与方法参数进行比较,使用product Getter作为名称,返回product对象)
  • 创建一个用于设置价格、价格参数和名称的方法。使用来自类B的setter方法
  • 从构造函数参数中删除Product对象
  • Add将产品添加到ArrayList的方法(创建新的product对象,添加到ArrayNist)

B类:

  • 添加价格的Setter方法(见下文)
  • 为名称添加Setter方法
  • 为价格添加Getter方法
  • 为名称添加getter方法(见下文)

设置程序:

public void setPrice(int _price){
    this.price = _price;
}

Getter:

public String getName(){
    return this.name;
}

此外,还有一件事需要考虑,你的价格不想是双倍的吗?int不允许使用小数点。

最新更新