我只需要有人告诉我为什么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;
}
继承我的另一堂课。不确定是否需要它
答案 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++
的原因。
编辑:由于服务器在我写作的时候进行了维护,我已经将这个答案完成了几个小时。