当前位置: 首页 > 知识库问答 >
问题:

将对象添加到接受另一个对象作为参数的ArrayList中

柴俊捷
2023-03-14
public class Product {
//fields
private String productName;
private double cost;

/**
 * Contructor
 *
 * @param productName
 * @param cost
 */
public Product(String productName, double cost){
   this.productName = productName;
   this.cost = cost;
}
...
public class InventoryItem {
//fields
private Product productObject;
private int quantity;

/**
 * Constructor
 *
 * @param quantity
 */
public InventoryItem(new Product, int quantity) {

    this.quantity = quantity;
}

/**
 * Method to set new name for product in inventory
 *
 * @param newProductName
 */
public void setProductName(String newProductName) {
    productObject.setProductName(newProductName);
}
...
import java.util.ArrayList;

public class Store {
//fields
private String storeName;
private String location;
private ArrayList<InventoryItem> itemList;

/**
 * Constructor
 */
public Store(String storeName, String location){
    this.storeName = storeName;
    this.location = location;
    itemList = new ArrayList<>();
}

/**
 * Method to prepopulate a list of items the store will be selling
 */
private void setItemList(){
   itemList.add(new InventoryItem(new Product("Bananas", 1.50)20));
   itemList.add(new InventoryItem(new Product("Canned Beans", 2.00)15));
   itemList.add(new InventoryItem(new Product("Easy-Mac", 2.50)15));
   itemList.add(new InventoryItem(new Product("Oranges", .50)25));
   itemList.add(new InventoryItem(new Product("Cereal", 3.00)10):);
   itemList.add(new InventoryItem(new Product("Milk", 4.00)10));

}

而不是更改InventoryItem中的参数

itemList.add(newInventoryItem("Bananas", 1.50, 20));

我想弄清楚如何传递新产品,如上面Store类的代码块所示。

共有1个答案

常睿范
2023-03-14

你的语法错了。实例InventoryItem时缺少逗号。

替换

new InventoryItem(new Product("Bananas", 1.50)20)

new InventoryItem(new Product("Bananas", 1.50), 20)
 类似资料:
  • 我正在为我的Java类做一个项目。我对这方面有点陌生,所以我很感激你的帮助。本质上,我正在构建一个处理盎司和磅的类。类的一个对象有两个整数变量,一个表示盎司,一个表示磅。该类所需的方法之一要求将该类的一个对象(PoundsOunces)作为参数,添加到调用对象中,并返回总和。我尝试了不同的方法来实现这一点,但我不断收到错误。这是我目前为止最接近的想法。 null

  • 我是java新手,我正试图编写我的第一个“更大”的程序,包含几个类。我在类“CompetitionProgram”中创建了一个ArrayList并将其声明为private。 我的程序中需要这两个类(Event&ListOfEvents),这是需求之一。事件--它只是表示事件本身,比如事件名称和尝试次数(它是一个体育事件)。和ListOfEvents--它表示列表本身,并包含用于添加事件、删除事件和

  • “Bericht”对象的单独类文件的一部分(荷兰语表示消息,包含一个字符串和两个日期): 在我的主方法的某个地方,我从这个类中创建新对象: 方法“printberichten”迭代数组列表并打印所有消息 getBericht getter方法: 因此,如果我创建一个新对象,我之前的所有对象都应该显示在text Area中,但我似乎只创建了我的类的一个实例。 在命令“lijst.add(this)”

  • 好的,在做任何事情之前,我想提一下,这是为学校准备的,所以请不要编写任何代码来修复我的代码,因为这不会教我任何东西。相反,如果我使用了不正确的术语,我需要的是参考、解释和适当的术语。 所以我这里有一些问题。这是我需要做的, *在学生类中包括以下方法:a.第B1部分中每个实例变量的访问器(即getter)b.第B1部分中每个实例变量的mutator(即setter) 注意:对Student类的实例变

  • 我目前有一个ArrayList,其中包含“Product”对象,每个对象中包含一个字符串、整数和double。我希望能够使用参数搜索对象,找出与搜索参数匹配的ID(整数值),并将此对象复制到另一个ArrayList中。有没有可能通过迭代器实现这一点,或者有没有更简单的方法?

  • 问题内容: 我想向中添加一个对象,但是每次我向具有3个属性的新对象添加时,都会出现错误。 在这里,我正在尝试创建其对象并将其传递给的类。 问题答案: 创建对象时需要使用运算符 要不然 并且您的构造函数不应包含。否则它将成为您班上的一个方法。