Вот код моего решения через два цикла for
Он рабочий и нареканий не вызывает. Однако снизу во втором методе нам дается цикл for-each, явно с целью его потренировать. Окей, изменяю свой второй цикл и получаю вот что:
Все сломалось. Ищу статью на эту тему, которая была ранее, нахожу расплывчатый ответ что
Все прекрасно отрабатывает!
Хорошо, подумал я, возможно отрабатывает потому что я заполняю масив data а не изменяю содержимое. Тогда заполню его заранее:
И все равно все прекрасно работает! Так почему же не работает второй цикл? В чем между ними разница? И как же, в конце концов, работает for-each?
Он рабочий и нареканий не вызывает. Однако снизу во втором методе нам дается цикл for-each, явно с целью его потренировать. Окей, изменяю свой второй цикл и получаю вот что:
Все сломалось. Ищу статью на эту тему, которая была ранее, нахожу расплывчатый ответ что For-each не подходит, если вы хотите внести изменения в массив.
Вот ссылка, кстати: https://javarush.com/groups/posts/for-each-java
Хорошо, раз нельзя вносить изменения через for-each значит и первый цикл у меня должен сломаться. Проверяю:
Все прекрасно отрабатывает!
Хорошо, подумал я, возможно отрабатывает потому что я заполняю масив data а не изменяю содержимое. Тогда заполню его заранее:
И все равно все прекрасно работает! Так почему же не работает второй цикл? В чем между ними разница? И как же, в конце концов, работает for-each?