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

实现和从方法向ArrayList添加项

皮骏
2023-03-14

让我把我的整个问题粘贴起来。请考虑我的英语,我的英语有点弱。

我有一个接口ArtPiece.java。我有Artitems.java类,并且在Artitems中实现了ArtPiece.java对象。

我的问题是,我需要从Artpeice在ArrayList中添加项目,艺术品基本上会有脆弱的项目。示例[AddItem(Artpiece Artpiece)],然后我需要设置从getCost()方法获取总价。然后显示哪个易碎物品在里面。

我不知道如何从ArrayList中获取值。每当我试图存储在数组列表中时,它都会给出一个错误。

请看下面我的编码:

//Artpiece.java
interface Artpiece{
    public String name();
    public Bundling bundling();
    public float price();

} 

//Bundling.java
interface Bundling{
    public String bundle();
}

//Cushioning.java
public class Cushioning implements Bundling{
    //Override
    public String bundle() {
        return "Cushioning";
    }
}


//BubbleWrap.java

public class BubbleWrap implements Bundling{
    public String bundle() {
        return "BubbleWrap";
    }

//ArtItem.java
import java.util.ArrayList;
public class ArtItems implements Artpiece{

    ArrayList<Artpiece> artpiece = new ArrayList<Artpiece>();

    artpiece.add(void price());

    //Override
    public String name() {

        return "Pottery";
    }

    //Override
    public Bundling bundling() {

        return null;
    }

    //Override
    public float price() 
    {
        return 25;
    }

    public float getCost()
    {
        int sum=1, total = 0;
        return total += sum;

    }

    public void addItem(Pottery pottery) 
    {


    }
    public void addItem(GlassWare glassWare) 
    {


    }

    public void showItems() {


    }



}
}

//Now I am posting the driver classes.

//Dispatcher.java
public class Dispatcher { 
      public ArtItems prepareFGitem(){ 
      ArtItems artitems = new ArtItems(); 
      artitems.addItem(new Pottery()); 
      artitems.addItem(new GlassWare()); 
          return artitems;
      }
}

//Salesorder.java
 public class Salesorder { 
   public static void main(String[] args) { 
     Dispatcher dispatcher = new Dispatcher(); 
      ArtItems FGartitem = dispatcher.prepareFGitem(); 
      System.out.println("Fragile Items"); 
      FGartitem.showItems(); 
      System.out.println("Total Cost: " +FGartitem.getCost()); 
   } 
} 

共有1个答案

饶德元
2023-03-14

为什么ArtItems要实现Artpiece?从逻辑上讲,您处理的每个项目都应该实现ArtPiece,而不是ArtItems,因为您威胁到了项目的集合。这就像说一个仓库实现了一个架子。

当添加到arraylist时,您必须添加一个Artpiece类型的项(或实现Artpiece的类),您在add方法中创建了一个方法,这个方法实际上不起作用,Artpiece.add(price())会更有意义,但仍然不起作用,除非price()实际上返回一个Artpiece,逻辑上它不应该返回一个Artpiece。

 类似资料:
  • 问题内容: 我已经读到,可以在Python中添加一个方法到现有对象(即,不是在类定义中)。 我知道这样做并不总是好的。但我们怎么做呢? 问题答案: 在Python中,函数和绑定方法之间存在差异。 绑定方法已“绑定”(描述性)到一个实例,并且无论何时调用该方法,该实例都将作为第一个参数传递。 但是,作为类(而不是实例)的属性的可调用对象仍未绑定,因此你可以在需要时随时修改类定义: 先前定义的实例也会

  • 我正在尝试使用以下方法将元素添加到名为activList的ArrayList中: 但是我在运行代码时在这一行得到了一个NullPointerExcema: 我确实读过这一页:什么是NullPointerException,如何修复它?(请不要重复报告) 我所理解的是,我得到错误是因为我的ArrayList没有任何元素。但是,我尝试在创建后立即添加一个,如下所示: 但我得到了一个错误:“意外标记:(

  • 假设我在一个数组列表中添加了2个用户Apple和Orange。然后我想将牛顿添加到苹果的朋友列表中。所以苹果应该有1个朋友,而橙色仍然没有任何朋友,因为我还没有添加他们。 我的问题是,当我把牛顿添加到苹果的朋友中时,牛顿也会出现在orange的朋友中。我只需要一个朋友出现在苹果和橙色没有。 我认为这是我为用户的朋友设置arraylist的方式,但我不确定如何更改它。

  • 本文向大家介绍silverstripe 向DataObject添加方法,包括了silverstripe 向DataObject添加方法的使用技巧和注意事项,需要的朋友参考一下 示例 您可以使用扩展机制将公共方法添加到DataObject,例如: 当应用于Member该类时,以上示例将通过protected属性访问via返回ID的sha1哈希值。例如:MemberMember$this->owner

  • 如果作为参数输入,则不应该将其添加到arrayList中,我正在使用BlueJ编译器,并且我已经尝试了几种方法对其进行编码,但仍然无效。 下面是我的方法: 还试过这样的办法: 也试过这个: 并尝试了这个: 我相信我已经用尽了我能想到的所有方法,并在网上做了研究,但似乎不能找到一个有效的答案,我的问题。上面的方法要么添加null,要么不添加null并且不添加非null的新car参数。似乎不知道如何不