【问题标题】:Error Codes: This method must return a result of type String && dead code in a for loop within the toString method错误代码:此方法必须在 toString 方法的 for 循环中返回 String && 死代码类型的结果
【发布时间】:2021-11-18 06:18:41
【问题描述】:

这是 toString 方法。 groceries[] 是 Geoceries 类型,长度为 6,值已分配较早。有两个错误。一个是返回字符串类型的结果,我这样做了,第二个错误是 n++ 是死代码。如果要返回杂货[1],杂货[2],...的信息该怎么办

public String toString()//Error:This method must return a result of type String
{
    
    if(groceries==null)
    {   
        return "No Groceries";
    }
    else
    {
        for(int n=0; n<groceries.length; n++)//n++ is dead code
        {   String str=groceries[n].toString();//this toString is from Groceries Class
            return str;
        }
    }

}

【问题讨论】:

  • 死代码 - 当你强制它只迭代一次时为什么会有一个循环? b) 返回值 - 如果 Array 为空,您认为可以返回什么?
  • 我使用循环,因为一旦调用 toString,我想显示存储在每个数组元素中的所有信息。有没有其他方法可以做到这一点?如果数组为空,它应该返回NULL?
  • 我在下面做了回答

标签: java computer-science


【解决方案1】:

我建议您将代码更改为

public String toString()
{
    
    if(groceries==null)
    {   
        return "No Groceries";
    }

    return Arrays.toString (groceries);

或者如果你真的想循环,那么你将需要附加每个项目

StringBuilder rv = new StringBuilder ();
else
{
    for(int n=0; n<groceries.length; n++)
    {   
        String str=groceries[n].toString();
        rv.append (str);
        rv.append (",");
    }
}
return rv.toString ();

还有其他方法。

【讨论】:

    猜你喜欢
    • 2020-08-08
    • 1970-01-01
    • 1970-01-01
    • 2018-03-08
    • 2013-12-18
    • 2015-09-25
    • 2013-11-24
    • 1970-01-01
    相关资源
    最近更新 更多