हाय मेरे पास कार्ड क्लास है ... एक और कक्षा में मैं कार्ड ऑब्जेक्ट्स का सरणी बना देता हूं। मैं कार्ड के मूल्य के आधार पर सरणी सूची को सॉर्ट करने के बारे में कैसे जाउंगा? ऐस सबसे कम कार्ड मूल्य है और राजा सर्वोच्च है।जावा सॉर्टिंग ऑब्जेक्ट ArrayList
ए, 2,3,4,5,6,7,8,9, टी, जम्मू, क्यू, कश्मीर
public class Card {
char rank, suit;
public Card(char rank, char suit){
this.rank = rank;
this.suit = suit;
}
public void setCard(char rank, char suit){
this.rank = rank;
this.suit = suit;
}
public char getRank(){
return rank;
}
public char getSuit(){
return suit;
}
public void setRank(char rank){
this.rank = rank;
}
public void setSuit(char suit){
this.suit = suit;
}
public String toString(){
String str = "";
str += this.getRank();
str += this.getSuit();
return str;
}
public boolean equals(Object obj){
Card card = (Card) obj;
if(this.rank == card.getRank() && this.suit == card.getSuit()){
return true;
}
return false;
}
public boolean isValidCard(Card card){
char s = card.getSuit();
char r = card.getRank();
if(s=='H' || s=='S' || s=='D' || s=='C'){
if(r=='A' || r=='2' || r=='3' || r=='4' || r=='5' || r=='6' || r=='7' ||
r=='8' || r=='9' || r=='T' || r=='J' || r=='Q' || r=='K'){
return true;
}
}
return false;
}
public boolean allowedInHigherPiles(Card card, Game game, int pile){
if(pile>=5 && game.getPile(pile).cards.size()==0){
if(card.getRank()!='K')
return false;
}
return true;
}
}
के बाद से ताश के पत्तों के एक प्राकृतिक सॉर्ट क्रम मैं एक अलग तुलनाकारी वर्ग से अधिक तुलनीय इंटरफ़ेस का उपयोग कर की सिफारिश करेंगे है। जब किसी ऑब्जेक्ट में जूता वर्ग की तरह प्राकृतिक ऑर्डर ऑर्डर नहीं होता है तो तुलनात्मक कक्षाओं का उपयोग किया जाना चाहिए। अलग-अलग लोग अपने जूते को विभिन्न तरीकों से क्रमबद्ध करते हैं (रंग, आकार के अनुसार, मूल्य से)। :-) –
बोजर्न: मैं इस बात से सहमत हूं कि ऐस की भूमिका कई खेलों में बदलती है (उदाहरण के लिए, बीजे और पोकर) इसलिए मैं कार्ड में अर्थशास्त्र जोड़ने के बारे में सावधान रहूंगा। – Uri