我需要你幫助的人,因爲我堅持這個。確定「結果最好的爆炸」項目結果
我怎樣才能從下面的結果中識別和打印每個類別只有1(一)「最佳爆炸記錄」記錄?考慮到單位價格,運營成本和投資回收期。
這是否有一個通用公式?
我有一段Java代碼,通過一些計算從數據庫獲取一些數據,並生成以下結果。
ABProduct abproduct = null;
ArrayList result_new = new ArrayList();
result_new.addAll(ProductDao.getProdutcs(customer, country));
if(result_new!=null){
for(int i=0; i<result_new.size(); i++) {
abproduct = (ABProduct) result_new.get(i);
aID = abproduct.getID();
aName = abproduct.getName();
aPrice = abproduct.getPrice();
aCategory = abproduct.getCategory();
//The below variable are calculated on fly
aCost = ...
aPaybackTime = ...
//Here I print the results
}
}
結果是這樣的:
ID Name Unit Price Category Operating Cost Payback Time
11 AA1CC0 88.41 3 146.5 4.6
9 AA22VB 64.99 3 146.94 1.9
10 AA3BN5 79.69 3 147.51 4.1
18 AA47VV 88.08 3 147.63 5.3
17 AA5HJ2 79.32 3 149.55 5.6
16 AA61YA 75.24 3 150.16 5.4
21 AA9Y0A 104.99 5 140.74 3.9
33 AA10DA 182.03 5 140.74 9.4
40 AA11K1 119.99 5 140.82 5
32 AA121D 154.99 5 141.25 7.7
27 AA13S1 159.89 5 141.8 8.5
38 AA1433 102.05 5 141.93 4
41 AA15D0 139.99 5 141.97 7
31 AA166D 109.89 5 142.07 4.7
36 AA17D3 149.99 5 142.07 7.9
30 AA187H 99.99 5 142.17 4
35 AA19G5 129.99 5 142.17 6.3
22 AA20P4 119.99 5 142.39 5.6
39 AA21K8 109.95 5 142.52 4.9
20 AA228I 88.84 5 142.81 3.2
29 AA239O 92.47 5 142.96 3.6
24 AA241C 102.5 5 143 4.4
19 AA259L 73.99 5 143.08 2
23 AA260K 79.99 5 143.13 2.6
26 AA277B 84.99 5 143.35 3.1
34 AA28YI 305.99 5 144.51 24.9
42 AA31Y0 189.99 6 139.47 9.1
45 AA32Y9 138.14 6 139.54 5.8
44 AA33R7 129.99 6 140 5.4
46 AA34R4 203.11 6 140.25 10.5
43 AA35A3 99.99 6 140.37 3.5
47 AA36A4 229.99 6 140.38 12.5
48 AA37Q5 341.99 6 140.57 20.5
50 AA40DF 199.99 7 136.44 8.2
52 AA41CC 402.95 7 136.88 19.7
51 AA42VG 279.99 7 137.73 13.5
49 AA43EW 195.33 7 137.97 8.6
我需要什麼要的(我不知道如果我從5類鑑定權項):
ID Name Unit Price Category Operating Cost Payback Time
9 AA22VB 64.99 3 146.94 1.9
20 AA228I 88.84 5 142.81 3.2
43 AA35A3 99.99 6 140.37 3.5
50 AA40DF 199.99 7 136.44 8.2
目前還不完全清楚你在「我需要它」的表中使用什麼標準。這代表什麼?而且,「爆炸」是什麼意思?你怎麼定義它?什麼是運營成本?每次都是一些平價還是某種成本?什麼是回報時間?你需要在這裏想出一些指標,你需要澄清一下你的條款。 –
你想按「付款時間」排序嗎?你沒有顯示你的*邏輯*做這件事,但我認爲你可以改變你的SQL來做這個排序。 –
^是的,我的意思是,如果你想按回報時間排序,你可以在SQL中進行計算(假設它看起來你使用的是ORM,通常有這樣做的方法,你可以實現它,例如'ProductDao .getProductsSortedByPaybackTime')。如果你想避免在SQL和別處的業務邏輯中實現重複的數學運算,你可以在你的數據庫中創建一個視圖,添加該列並將其作爲字段添加到實體類中。但是,這仍然非常複雜,使用自定義比較器簡單地調用'Collections.sort()'數組也很簡單。 –