我正在製作一個卡相關的應用程序。在這段Java代碼中我需要比較哪些變量?
西裝都排梅花,方塊,黑桃,紅桃
我想訂他們是這樣的:
內卡,ACE是最高的,2是最低的,因此標準王牌女王傑克訂單將罰款。
我正在嘗試使用compareTo方法,我不明白它...。
我是一個視覺學習者,所以代碼示例,就像一步一步地演練如何使用該方法將會 - 真的幫助我。它不一定與我的代碼相關,任何我可以學習並試圖通過視覺學習來實現的任何東西都將有助於達到此目的。
這是我的代碼到目前爲止。如果有人能夠向我展示 - 正是我應該實現這一點,那也會有所幫助。
import java.util.Arrays;
public class PlayingCard implements Comparable {
// Class Constants
public static final int ACE = 1;
public static final int KING = 13;
public static final int QUEEN = 12;
public static final int JACK = 11;
public static final String SPADES = "spades";
public static final String CLUBS = "clubs";
public static final String HEARTS = "hearts";
public static final String DIAMONDS = "diamonds";
// Instance Variables
private int rank;
private String suit;
// Constructor
public PlayingCard() {
this.rank = PlayingCard.QUEEN;
this.suit = PlayingCard.SPADES;
}
public PlayingCard (int rank, String suit) {
this.rank = rank;
this.suit = suit;
Arrays.sort();
}
// Mutators
public void setRank (int rank) {
this.rank = rank;
}
public void setSuit (String suit) {
this.suit = suit;
}
// Accessors
public int getRank() {
return this.rank;
}
public String getSuit() {
return this.suit;
}
public String toString() {
return PlayingCard.rankToString(this.rank) + " of " + this.suit;
}
//Class Method
public static String rankToString(int rank) {
switch (rank) {
case(1): return "Ace";
case(2): return "two";
case(3): return "three";
case(4): return "four";
case(5): return "five";
case(6): return "six";
case(7): return "seven";
case(8): return "eight";
case(9): return "nine";
case(10): return "ten";
case(11): return "Jack";
case(12): return "Queen";
case(13): return "King";
}
return "INVALID";
}
public static void main(String [] args) {
// Generate an array of playing cards
PlayingCard [] deck = new PlayingCard[52];
String [] suits = {PlayingCard.CLUBS, PlayingCard.DIAMONDS, PlayingCard.SPADES, PlayingCard.HEARTS};
for(int i = 0; i < suits.length; i++) { // Run through each suit
for (int j = 0; j < 13; j++) { // Make each card
deck[i*13 + j] = new PlayingCard(j+1, suits[i]);
}
}
// Shuffle cards
for(int i = 0; i < deck.length; i++) {
int newPos = (int)(Math.random()*52);
PlayingCard temp = deck[i];
deck[i] = deck[newPos];
deck[newPos] = temp;
}
// Print out cards
System.out.println("Shuffled Deck");
for(int i = 0; i < deck.length; i++) {
System.out.println(deck[i]);
}
// Sort the deck
Arrays.sort(deck);
// Print out cards
System.out.println("\n\nSorted Deck");
for(int i = 0; i < deck.length; i++) {
System.out.println(deck[i]);
}
}
}
-1。谷歌搜索「實施compareTo」提供了很多關於這方面的信息,包括例子。 – GenericJon