0

我有如下所示的代码:

private static String getShoppingLine()
{
    for(int index = 0; index <= ProductInfoName.length; index++)
    {
           return ProductInfoName[index];
    }
}

但它指出了一个错误,最后有一个 return 语句。但我已经有一个在循环中。请指教。谢谢。

4

4 回答 4

0
private static String getShoppingLine()
{
    for(int index = 0; index <= ProductInfoName.length; index++)
    {
           return ProductInfoName[index];  // don't do this.
    }
    return null;  //add here too
}

与其在return里面写语句,for-loop不如在外面写。因为,控制权将返回ProductInfoName[0]

注意:您的return语句必须在方法中找到(如果您已向您的方法声明任何返回类型)。因为,不能保证,你for-loop总是执行。然后,在这种情况下,您的方法将不会返回任何内容。因此,您需要returnfor-loop.

于 2012-12-23T10:33:19.737 回答
0

当然可以。ProductInfoName.length可能是负面的。如果它是否定的,您的return语句将不会被执行。

注意:当然实际上它不能是负数,但是编译器在编译代码时并不知道这一点。

第二个注意事项:这不是编写此方法的方式。您总是返回数组中的第一个元素(如果它不存在,您将抛出异常)。您应该将代码替换为:

private static ...
{
    if(ProductInfoName.length>0)
        return ProductInfoName[0];
    return null;
}
于 2012-12-23T10:34:01.527 回答
0

您将始终返回 ProductInfoName[0] ,为什么不直接写 return productinfoname[0] ?如果数组中根本没有对象怎么办?

于 2012-12-23T10:34:36.737 回答
0

您没有在代码中返回任何内容。

如果您想返回最后一个值更改以喜欢下面给出的代码

private static String getShoppingLine()
{
    String str="";
    for(int index = 0; index <= ProductInfoName.length; index++)
    {
           str=ProductInfoName[index];
    }
    return str;
}
于 2012-12-23T10:38:34.790 回答