+ 2

Циклы. Если не сложно, объясните, пожалуйста, по пунктам, каким образом в задачах получаются такие ответы.

Как сам по себе работает цикл, я понимаю, но в этих задачах, хоть убей, не вникаю, как получаются те ответы, которые получаются. ArrayList<Integer>list= new ArrayList<Integer>(); for(int i = 0; i < 6; i++){ list.add(i); } int x = 0; Iterator<Integer> it = list.iterator(); while(it.hasNext()){ x+= it.next(); } System.out.println(x); (Ответ: 15) _____________ int f=1, i=2; while(++i<5) f*=i; System.out.println(f); (Ответ 12)

4th Apr 2018, 12:31 AM
TanyaM
2 Answers
+ 2
В первом варианте создается список из интов. Далее список заполняется числами int с помощью цикла в 6 итераций (от 0 до 5) < 6 Далее создается переменная для суммирования (int x) и Итератор it коллекции list (ArrayList) Далее в цикле while (пока итератор находит следующий элеиент коллекции) происходит проход по коллекции (перебор элементов) и суммирование значения каждого элемента в переменную x. x += it.next() тоже самое что x = x + it.next() Во втором примере просто работает цикл while при условии пока i < 5. ++i это инкремент переменной i (i = i + 1) увеличение на единицу f*=i; равен f = f * i; т.е. теперь f хранит увеличенное значение, которое будет умножено в следующей операции итерации. Советую почитать про итератор коллекции, а также про инкременты и декременты.
5th Apr 2018, 9:57 AM
Victor IT
Victor IT - avatar
+ 1
@Victor IT Наконец поняла. Видимо, был тот случай, когда тебе все по отдельности ясно, но ты все равно сидишь и тупишь) Мне нужно было просто посмотреть немного с другой стороны на задачу. Спасибо тебе большое за разъяснение)
5th Apr 2018, 3:44 PM
TanyaM