【问题标题】:Converting int to toString() method将 int 转换为 toString() 方法
【发布时间】:2020-01-01 04:48:33
【问题描述】:

您好,我是编码新手,正在设计自己的类,该类计算将在驱动程序中作为数组提供的“n”个数字的平均值。目前,我最后在我的 toString 方法中继续收到错误“不兼容的类型,无法将 int 转换为 java.lang.String”,并且不知道如何解决它。任何帮助表示赞赏。

//this code computes the average 
public int adverage(int...array)
    {
       int adverage = 0;
       if (array.length > 0)
       {
           int sum = 0;
           for(int num : array)
                sum = sum + num; //add numbers in array 
           adverage = (int)sum / array.length; //divide numbers in     array by the array lenth

        }

       return adverage;
    }


 //this code is the toString return method
 public String toString()
    {

        return getMinimun() + getMaximun() + adverage();

    }

这只是我正在处理的问题的要求,最终结果显示在字符串中。谢谢!

【问题讨论】:

    标签: class methods type-conversion tostring


    【解决方案1】:

    似乎在 toString() 方法中您返回的是整数而不是字符串。如果这是您尝试将其作为数字执行的操作,然后将其转换为字符串,我将得到这些整数的总数。

    public String toString()
    {
        int total = getMaximun() + getMinimun() + adverage();
        String done = Integer.toString(total);
    
        return done;
    }
    

    如果这有意义的话。

    【讨论】:

      【解决方案2】:

      根据你的函数定义,

      public String toString()
      

      这个函数必须返回一个字符串。但是,在您的实现中,您似乎返回了一个 int。

      将返回值包装在 String.valueOf 中应该可以解决问题。

      return String.valueOf(getMinimun() + getMaximun() + adverage());
      

      【讨论】:

        猜你喜欢
        • 2012-06-09
        • 2021-04-21
        • 1970-01-01
        • 1970-01-01
        • 2013-02-17
        • 1970-01-01
        • 2023-03-24
        • 2016-03-15
        相关资源
        最近更新 更多