2013-10-11 21 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 
}