बातें enum
अंदर रों पहचानकर्ता, स्थिर अंतिम (स्थिर) के नाम हैं वस्तुओं है कि बनाया जाएगा। तो, आप किसी वस्तु का नामकरण करने के लिए int का उपयोग नहीं कर सकते हैं।
enum
रों आप प्रत्येक प्रविष्टि के लिए खेतों डाल सकते हैं:
public static enum Suit {HEART,DIAMOND,SPADE,CLUB}
public static enum Cards {
ACE_OF_HEART(Suit.HEART,14), QUEEN_OF_SPADE(Suit.SPADE,13) /* etc etc*/;
private final Suit mSuit;
private final int mRank;
private Cards(Suit suit, int rank) {
assert rank >= 2 && rank <= 14;
mSuit = suit;
mRank = rank;
}
public Suit getSuit() {
return mSuit;
}
public int getRank() {
return mRank;
}
}
आप वास्तव में सभी 52 कार्ड इस तरह से कोड करने के लिए नहीं करना चाहती। आप इसे किसी अन्य तरीके से मॉडल कर सकते हैं:
सुइट: कुछ लोकप्रिय रैंक के साथ
public static enum Suit { SPADE, HEART, DIAMOND, CLUB};
कक्षा नामित स्थिरांक के रूप में:
public class Card{
public static final int ACE = 14;
public static final int QUEEN = 13;
public static final int KING = 12;
public static final int JACK = 11;
private final int mRank;
private final Suite mSuit;
public Card(Suite s, int r){
this.mSuit = s;
if(r < 2 || r > 14){
throw new IllegalArgumentException("No such card with rank: "+r);
}
this.mRank = r;
}
public Suit getSuit() {
return mSuit;
}
public int getRank() {
return mRank;
}
}
स्रोत
2013-08-15 08:57:21
मुझे नहीं लगता कि आप एक enum मूल्य –
एक के रूप में पूर्णांक डाल सकते हैं पूर्णांक जावा में वैध चर नाम नहीं है! –