【问题标题】:Int cannot be dereferenced JavaInt 不能被取消引用 Java
【发布时间】:2019-03-11 11:19:41
【问题描述】:
    try
    {
        if (expr.contains("+"))
        {
            return (Integer.parseInt(left) + Integer.parseInt(right)).toString();;
        }
        else if (expr.contains("*"))
        {
            return (Integer.valueOf(left) * Integer.valueOf(right)).toString();
        }
        else if (expr.contains("-"))
        {
            return (Integer.parseInt(left) - Integer.parseInt(right)).toString();
        }
        else
        {
            return (Integer.parseInt(left) / Integer.parseInt(right)).toString();
        }
    }
    catch (java.lang.Exception e)
    {
    }

我正在尝试对整数进行操作,然后,将 int 转换为字符串,但我得到 int cannot be dereferenced 错误。

【问题讨论】:

  • 究竟哪一行给你这个错误? exprleftright 是什么?字符串?
  • @Lutz 是的,所有字符串
  • 永远不要写一个空的catch块。至少,将e.printStackTrace(); 放入其中。您最不希望看到的代码是在悄悄地假装它正在工作时失败的代码。
  • @VGR 罗杰那

标签: java string int


【解决方案1】:

Integer.parseInt(left) - Integer.parseInt(right) 是一个intint 是一个原语,因此它没有方法,因此您不能在 int 值上调用 toString()

您可以改用static Integer.toString() 方法。

例如:

return Integer.toString(Integer.parseInt(left) - Integer.parseInt(right));

【讨论】:

  • return String.valueOf(Integer.parseInt(left) - Integer.parseInt(right));
猜你喜欢
  • 2018-03-26
  • 2020-06-08
  • 2013-10-07
  • 1970-01-01
  • 2015-05-21
  • 2023-03-31
相关资源
最近更新 更多