Java,数组的setter方法。两节课

时间:2016-05-17 22:51:51

标签: java arrays methods setter

我需要在 B类中创建 SETTER 方法 ,为特定的Product对象设置新价格,该对象存储在定义的数组中A级 任何人都可以帮助这个基本的Java代码? 我们假设我们创建了Product apple,我们需要改变它的价格。 我需要使用类似的东西:

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;
}
}

非常感谢。

2 个答案:

答案 0 :(得分:1)

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;
    }


}

希望这有帮助

答案 1 :(得分:1)

还需要实施更多工作才能成为有效的解决方案。以下是您需要做的一些事情:

A类:

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

B组:

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

设置器:

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

吸气剂:

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

另外要考虑的一件事是,你的价格不希望是双重类型吗? int不允许小数位。