我真的是任何编程新手。我想知道是否可以将整数转换为字符串吗?我做了一些Google研究,但并没有完全回答我的问题。
我想做的是这样的:
我有一个int cardValue = (int)(Math.random() * 13 + 1);
它需要(至少应该)一个1到13之间的随机值。在代码后面,它会在控制台中输出cardValue + cardType,例如“ Ace 2”。我想要的是,如果卡的值为1、11、12或13,它将打印出“钻石皇后”,而不是“ 12钻石”。
卡类型如下所示,我知道必须有更好的方法,因此请注意任何建议:
if (cardType == 1){
System.out.println("You got: " + cardValue + aces);
}else if (cardType == 2) {
System.out.println("You got: " + cardValue + spades);
}else if (cardType == 3) {
System.out.println("You got: " + cardValue + cross);
}else {
System.out.println("You got: " + cardValue + diamonds);
}
}
我该如何解决这个问题?
最佳答案
在打印出cardValue
变量的值之前,可以使用一些简单的if
语句将其转换为易于理解的结果。需要考虑四种特殊情况:王牌,杰克,皇后,国王。您可以使用不同的if
/ else-if
语句来处理每一个。定义一种新方法,用于从cardValue
转换为要输出的文本cardName
:
private static String getCardName(int cardValue) {
// By default, you just output the number as is
String cardName = "" + cardValue;
if (cardValue == 1) {
cardName = "Ace";
}
else if (cardValue == 11) {
cardName = "Jack";
}
else if (cardValue == 12) {
cardName = "Queen";
}
else if (cardValue == 13) {
cardName = "King";
}
return cardName;
}
然后,只需使用此新方法
getCardName(cardValue)
转换为所需的输出格式,然后在println
语句中使用结果。