我的問題的焦點屬於takeInventory()
方法。通過對象的ArrayList對象的給定構造函數值排序
您可以假設InventoryDemo
的main()
方法是有效的(不包括執行takeInventory()
方法)。
如果你願意,你可能會發現其他類here。
我的takeInventory()
方法的目標是對我的list
進行排序,並報告Product
類型的每個唯一實例的整數值。
這是要由專門的名稱區分:
產品(名,成本))。
Product
類似名稱的s應該組合在一起(不管成本如何)。
輸出應報告如下:
我假設有排序這個數據比我目前的做法更有效的方法。但是,我不知道其中之一。
import java.util.*;
public class InventoryDemo
{
public static void main(String [] args) {
ArrayList<Product> list = new ArrayList<Product>();
list.add(new Car("Jaguar", 1000000));
list.add(new Car("Neon", 17000));
list.add(new Tool("JigSaw", 149.18));
list.add(new Car("Jaguar", 110000));
list.add(new Car("Neon", 17500));
list.add(new Car("Neon", 17875.32));
list.add(new Truck("RAM", 35700));
list.add(new Tool("CircularSaw", 200));
list.add(new Tool("CircularSaw", 150));
list.add(new Tool("saw1", 200));
list.add(new Tool("saw2", 150));
if(list.get(9).compareTo(list.get(10)) == 0) {
System.out.println("\nBoth saws are of equal value.");
} else if(list.get(9).compareTo(list.get(10)) > 0) {
System.out.println("\nThe first saw is more expensive.");
} else {
System.out.println("\nThe second saw is more expensive.");
}
takeInventory(list);
}
public static void takeInventory(ArrayList<Product> list) {
int inventory[] = new int[list.size()];
int counter = 0;
for(Product token: list) {
for(int x = 0; x < list.size(); x++) {
if(token.compareTo(list.get(x)) == 0) {
inventory[counter] = 0;
} else {
counter++;
}
}
}
for(int token : inventory) {
System.out.println(token);
}
}
}
如果沒有明確清晰:
我要爲我takeInventory()
方法補救。這種方法的客觀目的是對對象給定的ArrayList
進行排序,並報告其唯一類型值的總和成本。這在輸出中清楚地表明瞭。輸出的最後一個字符串文字由我的main()方法中的條件生成。其餘的將由takeInventory()
方法生產。
我確定我目前的takeInventory()
是不是工作。
不清楚你想要什麼,請解釋 – Sanjeev
你想用takeInventory方法做什麼? – Husman
你確定你目前的方法正在工作嗎?我認爲'takeInventory'總是打印出零。 – johnchen902