我想用Java初始化一組單獨的卡片。這是我到目前爲止的做法:以Java分離數據和函數
public ArrayList<Card> initDeck() {
ArrayList<Card> cardDeck = new ArrayList<Card>(24);
cardDeck.add(new Card("Emperor Augustus", 20.1, 40, 4.1, 300000, POWER_AND_INFLUENCE.VERY_HIGH));
cardDeck.add(new Card("Jeff Bezos", 96, 22, 59.7, 268000, POWER_AND_INFLUENCE.HIGH));
cardDeck.add(new Card("Bill Gates", 83.7, 41, 73, 112388, POWER_AND_INFLUENCE.MEDIUM));
return cardDeck;
}
這是很多重複IMO。另外我想分開功能的數據。
是否可以將要添加到cardDeck中的元素(即new Card(...)
)導出到單獨的文件中?
在JavaScript中,你會讓它例如像這樣:
JSON-文件:
{
data: [{
name: "asdf",
economy: 123,
yearsInPower: 4
}, {
name: "bsdf",
economy: 3,
yearsInPower: 10
}, {
name: "csdf",
economy: 43,
yearsInPower: 5
}]
}
JS-文件:
const cards = require("./cards.json").data;
function initDeck(cards) {
const cardDeck = [];
for (let i = 0; i < cards.length; i++) {
cardDeck.push(cards[i]);
}
return cardDeck;
}
let cardDeck = initDeck(cards);
我看着其他實施Java中卡的初始化。但是所有的例子都假設卡片的邏輯順序,例如, 2,3,4 ...傑克,女王,國王,王牌。但在我的例子中,卡片不遵循任何邏輯順序。
有Java可以讀取各種格式的名稱/數值數據的軟件包:JSON,YAML等。 – Pointy