2013-11-11 2 views
0

У меня есть этот код, но когда-то филиал исполняет, то i не увеличивается, и я не могу понять, почему ...Для цикла не увеличивающиеся правильно

while(rs.next()){ 
    tableAktivityBuilder.append("<tr><td><input type=\"text\" class=\"rowAktivita\" value=\""+rs.getString("name")+"\"/></td><td>"); 
    StringBuilder tmpBuilder = new StringBuilder("<select class=\"course\"><option value=\"-1\" type=\"\"></option>"); 
    for(int i = 0; i < prurezove.length+odborne.length; i++){ 
    int idKompetence = rs.getInt("id_kompetence"); 
    if(rs.getString("typ_kompetence").equalsIgnoreCase("p") && i < prurezove.length){ 
     if(idKompetence == prurezoveIds[i]){ 
      tmpBuilder.append("<option value=\""+idKompetence+"\" type=\"p\" selected=\"selected\">"+prurezove[i]+"</option>"); 
     }else{ 
      tmpBuilder.append("<option value=\""+idKompetence+"\" type=\"p\">"+prurezove[i]+"</option>"); 
     } 
    }else{ 
     log.info("kompetence = o"); 
     log.info("i = "+i); 
     int awa = prurezove.length+odborne.length; 
     log.info(""+awa); 
     if(idKompetence == odborneIds[x]){ 
      tmpBuilder.append("<option value=\""+idKompetence+"\" type=\"o\" selected=\"selected\">"+odborne[x]+"</option>"); 
     }else{ 
      tmpBuilder.append("<option value=\""+idKompetence+"\" type=\"o\">"+odborne[x]+"</option>"); 
     } 
     x++; 
    } 
    } 
    tableAktivityBuilder.append(tmpBuilder); 
    tableAktivityBuilder.append("</select></td><td>"); 
    if(rs.getInt("cena") != 0){ 
    tableAktivityBuilder.append(rs.getInt("cena")); 
    } 
    tableAktivityBuilder.append("</td></tr>"); 
} 

выход журнала

kompetence = o 
i = 4 
5 
kompetence = o 
i = 4 
5 

Спасибо за любую помощь

+0

Я не вижу проблем! –

+0

, а затем он остановится или продолжит цикл на i = 4 навсегда? – OGHaza

+2

Это просто означает, что ветвь else выполняется только один раз на итерацию цикла while (rs.next()). Используйте отладчик и выполняйте инструкции один за другим, чтобы понять, что происходит точно. –

ответ

3

Это только ваш выход в то время как цикл выполняется дважды, и ваш внутренний цикл всегда достигают еще {}, когда я == 4, а затем выйти.

+0

О, мой ... Я должен похлопать себя ... Я потратил около часа, пытаясь найти, что я делаю неправильно ... Спасибо! Я приму ваш ответ КАК МОЖНО СКОРЕЕ – Jakolcz

+0

Nah это просто exp :-) Удачи и счастливого кодирования! –

Смежные вопросы