2016-10-13 10 views
-2

インデックスの++がデッドコードである理由を教えてくれる人が必要なので、自分で修正しようとすることができます。Javaプログラミングのデッドコード

HERESに1つの

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; 
    } 

相続クラス私の他のクラスのための私のコード。しかし、それが必要かどうかわからない

+2

forループの内部からすぐに戻るので、インデックスをインクリメントする必要はありません。 – AlexC

+1

forループが本当にループしないのはなぜですか? –

答えて

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++に決して到達しない原因となります。

EDIT:私が書いているうちにサーバーが保守中だったので、この回答は数時間不完全です。

関連する問題