試圖建立一個方法它接受一個「數字」,然後使用該號碼,它進入一個全球性的arraylist <string>
並使用一系列的變化對位置「數字」的圖標到一定圖標if-else語句。配對遊戲 - setCard方法
問題是我不知道如何調用位置。如果沒有方法,我會這樣編碼;
card1.seticon(a);
我會手動爲所有if-else語句和arraylist
中的所有項目執行此操作。
我該如何讓它變成動態的,以便'卡片'之後的數字在相同的方法中不斷變化?
這是我的方法,到目前爲止&我想替代者所以用一個變量或東西是動態:
public void setCards(int cardNumber) {
String temp = cards.get(cardNumber);
switch (temp) {
case "0":
card1.setIcon(a);
break;
case "1":
Card1.setIcon(b);
break;
case "2":
Card1.setIcon(c);
break;
case "3":
Card1.setIcon(d);
break;
case "4":
Card1.setIcon(e);
break;
case "5":
Card1.setIcon(f);
break;
case "6":
Card1.setIcon(g);
break;
case "7":
Card1.setIcon(h);
break;
}
}
_Never_做到這一點。首先,忘記switch-case語句。使用'Map'代替或適用的任何其他形式的多態性。另外,全局變量是根源。忘記他們。在這裏,我不清楚你的意圖是什麼。雖然他們並不是真正的完全初學者,但我強烈建議你閱讀兩篇文章:** [#1](http://amzn.com/0132350882)**,** [#2](http:/ /amzn.com/1932394850)**,** [#3](http://amzn.com/0321146530)** –
Powerslave
2014-09-26 13:25:19
...#1書會給你很多關於如何解決你的問題的提示問題_「我如何使它動態以便...」。 考慮_「嘗試創建一個接受'數字'然後使用該數字的方法,...(!!!)將位置'數字'的圖標更改爲某個圖標'_,您可以使用'Map'然後發出'cards.get(id).setIcon(icons.get(id))',完全省略「cardNumber」部分,因爲你可能不需要它。但是,我不確定你的目標...... PS:!!!=請勿將實施細節放在您的要求中。描述要做什麼,而不是如何。 –
Powerslave
2014-09-26 13:31:37