
Код: Выделить всё
int rank = 1;
for (int i = 0; i < activities.size(); i++) {
if (i == 0) {
activities.get(i).setRank(rank);
else {
float currentAverage = activities.get(i).getQualityAverage();
float previousAverage = activities.get(i - 1).getQualityAverage();
activities.get(i).setRank(currentAverage == previousAverage ? rank : ++rank);
}
}
< /code>
Предполагая, что список действий сортируется, ощущение этого кода состоит в том, чтобы назначить ранги (оценку) каждому действию в соответствии с его местом в списке. But there's a rule in the else
For instance:
Activity < /th>
среднее качество < /th>
Rank < /th>
< /tr>
< /thead>
readge < /td>
10 < /td>
< /td>
10 < /td>
< /td>
10 < /td> /> < /tr>
тренировка < /td>
>9.5.5
2 < /td>
< /tr>
write < /td>
>2.9 /> < /tr>
исследование < /td>
9.2.2
3 < /td>
< /tr>
clean < /td>
8
< /td>
/> < /tr>
воспроизводить гитару < /td>
8 < /td>
4 < /td>
< /tr>
< /tbod REATE () ) для достижения более чистого и умного кода.
Подробнее здесь: https://stackoverflow.com/questions/780 ... -iteration