2015-01-06 41 views
1

刪除了我的代碼以阻止任何潛在的抄襲問題,但解決方案已發現並在答案中,謝謝!在Java中計數卡片手的值

+0

IIRC,在二十一點手的值是更差更好它越接近?21?沒有超調。因此,在一手牌的所有可能值中,您只需選擇其中一個(您可以在沒有附加數據的情況下確定),是嗎? – SJuan76

+0

這是正確的,但我被要求存儲每一個可能的價值。我的這部分工作不是與二十一點相關,而是與通用卡類有關。 – Thody

+0

我知道這不是你想聽到的,但我不同意你的講師。王牌沒有單一的價值,而是兩個。秩枚舉應該有一個值的集合,而不是一個單一的。 getValue應該返回一個集合{也許重命名爲getValues()}。從那裏,你應該相應地修改你的設計的其餘部分。 –

回答

0

要生成所有罪狀:

  • 計數的非王牌卡(k

  • 計數的王牌卡a)。

王牌(aValue)的值從a(所有計數爲1)至11*a(所有計數爲11)的範圍

int aValue = a; 
while (aValue < 11*a) { 
    handValues.add(k + aValue); 
    aValue = aValue + 10; // an 1 becomes an 11, 
} 
handValues.add(k + aValue); // last case, or if a is 0 
+0

完美的解決方案,謝謝! – Thody