我寫了這個隨機從卡組中挑選兩張卡片的代碼,但我遇到了麻煩,試圖讓它進行比較,我遇到了一些問題並希望解決這個問題一步一步但不確定如何比較兩個語句只有一個定義的變量?比較兩個語句與一個定義變量java
package question1;
public class HouseOfCards {
public static void main(String[] args) {
String [] SuitNames= {
"Spades","Diamonds","Clubs","Hearts"
};
String [] CardNames= {
"Ace","One","Two","Three","Four","Five","Six","Seven","Eight","Nine","Ten","Jack","Queen","King"
};
String SuitName="hi",SuitName2="die";
String CardName="hi", CardName2="die";
for (int i=0; i<=1; i++){
int numCard=52;
int randNum=(int)(Math.random() * numCard);
int randNum2=(int)(Math.random() * numCard);
int suitNum = randNum/13;
int cardNum = randNum % 13;
int suitNum2 = randNum2/13;
int cardNum2 = randNum2 % 13;
SuitName = SuitNames[suitNum];
CardName = CardNames[cardNum];
SuitName2 = SuitNames [suitNum2];
CardName2 = CardNames[cardNum2];
System.out.println(CardName + " of " + SuitName);
}
if (CardName.equals(CardName2)){
System.out.println("Same Rank");
}
else if (SuitName.equals(SuitName2)){
System.out.println("Same Suit");
}
}
}
我修改了代碼,以便它顯示如果兩個隨手拈卡或隨機挑卡之間的花色相同,但有時它不打印語句之間的相同等級的,爲什麼?
'的Integer.parseInt(CardName);'不會',如果包含CardNames'像「王牌」字樣的工作,「一」等 –
這是真的,這是我嘗試編碼時的嘗試和錯誤時刻,這就是爲什麼我在這裏找出可以做什麼來解決它的原因? – Phantom1421
您需要有一些方法來查找卡片的數值。你可以使用一個HashMap,或一個大開關或if/else語句,或者你可以使用一個枚舉來表示你的卡名。 –