我只需要快速帮助我的toString. 这就涉及到打牌了。
public class Card
{
//Data
private int rank;
private char rank2;
private char suit;
//more codes (constructor etc.)
//toString
public String toString ( )
{
if (rank == 11)
rank2 = 'J';
else if (rank == 12)
rank2 = 'Q';
else if (rank == 13)
rank2 = 'K';
else if (rank == 14)
rank2 = 'A';
else
return rank2 + suit; // <----error here.
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试弄清楚如何返回等级和花色。例如,如果有人输入 11 表示等级,“S”表示花色,那么我应该返回 JS。但是,我遇到了一个错误:
“错误:类型不兼容:int 无法转换为 String”
在爪哇,char类型被视为int. chartype支持算术运算,因此可以相加。因此,当您使用 + 运算符时,它会将它们的值相加。但由于chartype 和inttype 是不同的原始类型,因此它们对于算术运算是不兼容的。
如果您需要字符串连接,那么您需要将代码更改为:
return String.valueOf(rank2) + String.valueOf(suit);
Run Code Online (Sandbox Code Playgroud)
将两个chars 加在一起实际上是将它们的 unicode 值相加并返回一个整数。如果您希望将它们连接在一起作为String,请执行以下操作:
return rank2 + "" + suit;
Run Code Online (Sandbox Code Playgroud)
这将形成 aString并附加到suit的末尾rank2。因此,如果rank2是“J”并且suit是“H”,则将返回“JH”。
| 归档时间: |
|
| 查看次数: |
37907 次 |
| 最近记录: |