讓我粘貼我的整個問題。請考慮我的英語,我有點虛弱。通過方法實現並向ArrayList添加項目
問題:一個調度系統遵循銷售訂單,根據訂購的物品發送 需要正確包裝的物品。假設商店出售富有藝術價值的古董物品。這些藝術品 可以歸類爲'易碎'項目。在店裏出售的兩種易碎物品是 ,它們是'陶器'和'玻璃器皿'。每件商品都需要與適當的 包捆綁在一起。捆綁有兩種類型,即「BubbleWrap」或「緩衝」。易碎物品 泡沫包裝完成,使用非易碎物品「緩衝」。 然後,您需要創建一個ARTITEM類,其中包含Artpieces ArrayList和一個Dispatcher,用於打包不同類型的artitem對象,該對象可以被識別爲易碎。 Salesorder是我們的演示課程,它將使用Dispatcher來包裝一個artitem?
我有一個接口Artpiece.java。我有ArtItems.java類,並在ArtItems中實現了Artpiece.java對象。
我的問題是,我需要從Artpeice的ArrayList中添加項目,Artpiece基本上會有脆弱的項目。例如[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());
}
}
有代碼中的錯誤。 '無效價格'應該被刪除。另外,改變你的命名。這是藝術品,而不是藝術品。您想將artpiece添加到artpieces列表中,如artpieces.add(新Artpiece()); –
你在哪裏定義了使用artpiece.add的add(void price())?你定義的價格函數也返回一個浮點數,你爲什麼用void調用它? – user2497624
另外,將東西添加到列表的位置不正確。只能調用在另一個方法中或在構造函數或初始化程序塊中添加項目的方法。我建議用一種方法來做,這對你來說可能是最簡單的。還要堅持使用小寫變量和大寫類的慣例。你的'FGartitem'應該被稱爲'artItems',或類似的東西。 –