我对任何编程都是新手。我想知道是否有办法将整数转换为字符串?我做了一些 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/