/*
Создать множество чисел(Set),
занести туда 20 различных чисел. Удалить из множества все числа больше 10
*/
public class Solution {
public static Set<Integer> createSet() {
Set<Integer> set = new HashSet<Integer>();
for(int i = 0;i<20;i++){
set.add(i);
}
return set;
}
public static void removeAllNumbersGreaterThan10(Set<Integer> set) {
for (Integer helper : set) {
if (helper > 10) {
set.remove(helper);
}
}
}
public static void main(String[] args) {
}
}Anonymous #3285075
29 уровень
Задачку я уже решил через итератор и цикл while, но мне интересно, почему это решение неверное?? Очень любопытно.
Решен
Комментарии (5)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hidden #3303140
11 мая 2023, 11:26
А ты не пробовал вызвать свои методы и посмотреть, что из этого получится? Создать сет, потом удалить из него нужные числа и вывести результат. Спойлер: работать не будет.
PS Что это и зачем?
0
Anonymous #3285075 Java Developer
12 мая 2023, 10:31
Пробовал кстати выводить значения, все работало. Ответ на PS : походу случайно сюда попало при копирований задачки из идеи, сорян)
0
Anonymous #3285075 Java Developer
12 мая 2023, 10:38
Если не секрет, что вы тут делаете на первом левеле аккаунта?)
0
hidden #3303140
12 мая 2023, 11:40
Дело не в том, чтобы попробовать вывести, а в том, чтобы попробовать удалить. Это не работает:Можешь запустить и убедиться, возникнет исключение. Потому, оно, собственно, и не принималось в таком виде.
Это просто пустой акк без подписки.
0
Anonymous #3285075 Java Developer
12 мая 2023, 11:43
Спасибо вам большое! Ошибку свою я уже нашел, там надо было в методе removeAllNumbersGreaterThan10 создать копию сета который бы принимал в качестве аргумента основной сет, и работать внутри цикла с копией сета)
0