2016-03-12 34 views
2

所以我有這個枚舉...如何獲取枚舉中屬性的值?

public enum Card { 

ACE(1), TWO(2), THREE(3), FOUR(4), FIVE(5), SIX(6), SEVEN(7), EIGHT(8), NINE(9), TEN(10), JACK(10), QUEEN(10), KING(10); 

private int value; 

private Card(int value) { 
    this.value = value; 
} 

static int getCardValue(Card someCard) 
{ 
    return someCard.getValue(); 
} 

int getValue() 
{ 
    return Card.values()[someCard]; 
} 

的isue是,我需要能夠調用

getCardValue(card); 

,並使其返回卡的價值,就像5.我有嘗試了很多事情已經無濟於事。這是針對學校的,getCardValue方法必須與現在完全相同;我唯一可以改變的是getValue的內部。所以,我需要幫助搞清楚要放什麼

int getValue() 
{ 
return Card.values()[someCard]; 
} 

任何想法?

+0

將'Card.values()[someCard]'更改爲'this.value'。 –

回答

5

認爲簡單!

int getValue() 
{ 
    return value; 
} 

value指字段

private int value; 

其在構造被設置:

private Card(int value) { 
    this.value = value; 
} 

的構造函數被調用用於每個枚舉文字。這是您最終定義值的位置:

ACE(1), TWO(2), THREE(3), ...