Java: toString 错误 "error: incompatible types: int cannot be converted to String"

标签 java tostring

<分区>

我的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.
    }

我想弄清楚如何返回等级和西装。例如,如果有人输入等级 11 和花色“S”,那么我应该返回一个 JS。但是,我遇到了一个错误:

"error: incompatible types: int cannot be converted to String"

最佳答案

将两个 char 相加实际上是将它们的 unicode 值相加并返回一个整数。如果您希望将它们连接在一起作为 String,请执行以下操作:

return rank2 + "" + suit;

这将形成一个 String 并将 suit 附加到 rank2 的末尾。因此,如果 rank2 是 'J' 并且 suit 是 'H',则将返回“JH”。

关于Java: toString 错误 "error: incompatible types: int cannot be converted to String",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35167196/

相关文章:

javascript - 将 Nan 更改为字符串

Java 数独解决方案 validator

java - 为什么我的 Wicket 面板在更改默认模型后不重新渲染?

java - 使用 JAXB 解码通用列表

java - 压缩多个 jasper 报告并通过电子邮件发送此 zip

c++ - Orwell Dev C++ 不适用于 C++11

java - 打印 Java 数组的最简单方法是什么?

java - 如何强制 Java 调用接受不可为空参数的重载 Kotlin 方法?

java - 改进 log4j 中的细节打印

java - 覆盖 toString() 给出错误