java编程死代码

时间:2016-10-13 22:37:48

标签: java methods

我只需要有人告诉我为什么index ++是一个死代码,所以我可以尝试自己修复它。

继承我的一个班级的代码

public class ManagementCompany {
    private String name;
    private String taxID;
    private Property[] properties;
    private double mgmFeePer;
    private final int MAX_PROPERTY = 5;

    public ManagementCompany(String name, String taxID, double mgmFee)
    {
        properties = new Property[MAX_PROPERTY];
        this.name = name;
        this.taxID = taxID;
        this.mgmFeePer = mgmFee;
    }

    public int getMAX_PROPERTY()
    {
        return MAX_PROPERTY;
    }
    public int addProperty(Property property)
    {
        for(int index = 0; index < properties.length; index++)
        {
            properties[index] = property;
                return (index + 1);
        }
        return -1;
    }

继承我的另一堂课。不确定是否需要它

1 个答案:

答案 0 :(得分:2)

循环中有return。 通过展开你将看到为什么它是死代码:

FOR INITIALIZATION: int index = 0;
FOR PRE-LOOP CHECK: index < properties.length

FOR BODY EXECUTION: properties[index] = property;
                    return (index + 1);

FOR POST-LOOP UPDATE: index++

如您所见,return使循环终止并退出for()语句和封闭方法。这种循环的过早终止是导致执行永远不会达到循环后更新index++的原因。

编辑:由于服务器在我写作的时候进行了维护,我已经将这个答案完成了几个小时。