java - 解决int + string的问题

标签 java string integer

我对任何编程都是新手。我想知道是否有办法将整数转换为字符串?我做了一些 Google 研究,但它并没有完全回答我的问题。

我想做的是: 我有一个 int cardValue = (int)(Math.random() * 13 + 1);

它需要(至少应该)一个 1 到 13 之间的随机值。稍后在代码中它会将 cardValue + cardType 打印到控制台,例如“2 of Aces”。我想要的是,如果卡片的值是 1、11、12 或 13,它会打印出“Queen of Diamonds”,而不是“12 of Diamonds”。

卡片类型打印如下,我知道一定有更好的方法,因此任何建议也会被记录下来:

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 语句将其转换为人类可读的结果。有四种特殊情况需要考虑:A、J、Q、K。您可以使用不同的 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 语句中使用结果。

关于java - 解决int + string的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39692989/

相关文章:

java - 等待图片下载完毕 Firebase

java - 我可以信任 Java SecurityManager 沙箱吗?

java - 如何使用apache poi处理excel文件中的空单元格或空白单元格

c++ - 字符串类构造函数安全

string - 将整数转换为单词和罗马数字

JavaScript - 将四字符数组转换为整数

java - Android X 中的透明导航栏

Javascript使用RegEXP删除特殊字符之间(但不包括)的字符

java - 在 JSON 字符串中添加双引号的简单方法

python - 随机将 float 舍入为整数