2 回答
TA贡献1799条经验 获得超8个赞
创建一个枚举来表示 Face
enum Face {
Ace(number), //I don't know what number is for Ace and others.
Deuce(number),
Three(3),
Four(4),
Five(5),
Six(6),
Seven(7),
Eight(8),
Nine(9),
Ten(10),
Jack(number),
Queen(number),
King(number);
private final int number;
Faces(int number) {
this.number = number;
}
public int getNumber() {
return number;
}
}
将面的类型从字符串更改为面。
class Card {
private Face face;
private String suit;
public Card (Face cardFace, String cardSuit){card's face and suit
this.face = cardFace;
this.suit = cardSuit;
}
public String toString(){
return face + " of " + suit;
}
public int getNumber() {
return face.getNumber();
}
}
添加一个从卡片类中获取人脸号码的方法,然后相应地使用它。您还需要更改其他部分或您的项目,但我会将其留给您。
还建议对 Suit 使用 enum。
TA贡献1934条经验 获得超2个赞
我在那里看不到牌组列表,但是如果您的卡片字符串始终遵循相同的命名约定(即“四颗心”),您可以通过将每个字符串按“字符串中获取数字的第一个单词(或对应的 10 表示国王/王后等。)
String cardName = "four of hearts" (or whatever the variable name is);
String[] parts = string.split(" ");
String number = parts[0];
因此数字将仅等于“四”,而不必比较“四颗心”以返回数字 4。
希望有帮助
添加回答
举报