2013-10-11 20 views
-1

下面ismy代碼是工作良好唯一的問題在最後一個循環我想改變小事我怎麼知道是最後一個循環?我的代碼不滿足這個條件,如果(我== school5.length() - 1)在forloop結束,而不是替換,。我會doplease幫我我的條件不滿意forloop結束請幫我請

JSONArray school5 = json2.getJSONArray("dish_ingredient"); 
String concatProduct = ""; 

for (int i = 0; i < school5.length(); i++) { 
    String name = school5.getJSONObject(i).getString("name"); 
    String subIngredient = school5.getJSONObject(i).getString("sub_ingredients"); 
    if(i == 0){ 
     if (subIngredient.equals("")) 
     { 
      if(i == school5.length()-1) 
      { 
       concatProduct = " " + "<b>" + name + "</b>"+". " + subIngredient; 
      } 
      else 
      { 
       concatProduct = " " + "<b>" + name + "</b>"+", " + subIngredient; 
      } 
     } 
     else 
     { 
      concatProduct = " " + "<b>" + name + "</b>"+": " + subIngredient; 
     } 

    } else { 
     if (subIngredient.equals("")) 
     { 
      concatProduct += " " + "<b>" + name + "</b>"+", " + subIngredient; 
     } 
     else 
     { 

      concatProduct += " " + "<b>" + name + "</b>"+": " + subIngredient; 
     } 
    } 
} 
+3

你應該格式化你的代碼,以便其他人可以正確讀取它 – Shubhank

回答

2

if (i == school5.length()-1)將永遠是假的,因爲它是內部if (i == 0)

+0

好去處!完全錯過了,由於格式不佳 – musefan

+0

是你的儀式是我的錯誤thanx識別 – user2867267

1

if(i == school5.length()-1) 

,因爲在此之前條件將被檢查,只有當i==0永遠不會爲真。

if(i == school5.length()-1) 

是真的唯一情況當我== 0 & JSON數組長度爲1

1

此外,它是一個好的做法是不保留該「school5.length() ;」在for循環中獲得更好的性能。

應該更好地處理類似的東西

int size = school5.length(); 
for (int i = 0; i < size; i++) { 
    // your loop 
}