我真的是任何编程新手。我想知道是否可以将整数转换为字符串吗?我做了一些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语句中使用结果。

10-08 18:50