В данной задаче я долго мучился, не понимая почему валидацию не проходило, но стоило мне поменять порядок объявления списков, как все заработало?
Работает:
ArrayList<Integer> a3 = new ArrayList<Integer>();
ArrayList<Integer> a2 = new ArrayList<Integer>();
ArrayList<Integer> a1 = new ArrayList<Integer>();
for (int i = 0; i < 20; i++) {
if (a.get(i)% 6 == 0) {
a2.add(a.get(i));
a3.add(a.get(i));
}
else if (a.get(i)% 3 == 0)
a3.add(a.get(i));
else if (a.get(i)% 2 == 0)
a2.add(a.get(i));
else a1.add(a.get(i));
}
Не работает:
ArrayList<Integer> a1 = new ArrayList<Integer>();
ArrayList<Integer> a2 = new ArrayList<Integer>();
ArrayList<Integer> a3 = new ArrayList<Integer>();
for (int i = 0; i < 20; i++) {
if (a.get(i)% 6 == 0) {
a2.add(a.get(i));
a3.add(a.get(i));
}
else if (a.get(i)% 3 == 0)
a3.add(a.get(i));
else if (a.get(i)% 2 == 0)
a2.add(a.get(i));
else a1.add(a.get(i));
}