我写了这个随机从卡组中挑选两张卡片的代码,但我遇到了麻烦,试图让它进行比较,我遇到了一些问题并希望解决这个问题一步一步但不确定如何比较两个语句只有一个定义的变量?比较两个语句与一个定义变量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语句,或者你可以使用一个枚举来表示你的卡名。 –