Задачу решил. Но я заметил, что многие используют цикл вот такой конструкции:
for (String s : x) - это я просто вставил переменные, но вот что означает подобное условие? Мое решение задачи:
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)) ;
ArrayList<Integer> list = new ArrayList<>() ;
ArrayList<Integer> list1 = new ArrayList<>() ;
ArrayList<Integer> list2 = new ArrayList<>() ;
ArrayList<Integer> list3 = new ArrayList<>() ;
for (int i = 0; i < 20; i++) {
list.add(Integer.parseInt(reader.readLine())) ;
}
for (int i = 0; i < list.size(); i++) {
if (list.get(i) % 3 == 0)
list1.add(list.get(i));
if (list.get(i) % 2 == 0)
list2.add(list.get(i));
if ((list.get(i) % 3 != 0) && (list.get(i) % 2 != 0))
list3.add(list.get(i));
}
printList(list1) ;
printList(list2) ;
printList(list3) ;
}
public static void printList(ArrayList<Integer> list) {
for (int i = 0; i < list.size(); i++)
System.out.println(list.get(i));
Junior Senior
19 уровень
Вопрос про циклы
Обсуждается
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
ГоффMaster
3 января 2021, 16:53полезный
for (String s : x) - это цикл for each, погугли, с чем его едят.
+1
Junior Senior
3 января 2021, 19:02
Почитал, понял как это работает. Но не понял чем он полезен в сравнении с обычным for. Если только сократить запись на пару символов🤔😅
0
ГоффMaster
4 января 2021, 02:31
В джаве есть коллекции без индексов. Циклом со счётчиком их не перебрать, только так и можно.
А в остальном - да, для удобства. Если тебе надо перебрать все элементы в коллекции, то просто пишешь вот такой цикл, который просто перебирает все элементы и не паришься насчёт счётчиков-индексов.
0