Доброго времени суток!
Подскажите пожалуйста почему при компиляции выдаёт ошибку и почему не верно выполняется функция removeAllNumbersMoreThan10?
Создать множество чисел(Set), занести туда 20 различных чисел.
Удалить из множества все числа больше 10.
Требования:
1. Программа не должна выводить текст на экран.
2. Программа не должна считывать значения с клавиатуры.
3. Класс Solution должен содержать только три метода.
4. Метод createSet() должен создавать и возвращать множество HashSet состоящих из 20 различных чисел.
5. Метод removeAllNumbersMoreThan10() должен удалять из множества все числа больше 10.
public class Solution {
public static HashSet<Integer> createSet() {
HashSet<Integer> set=new HashSet<Integer>();
for (int i=0;i<20;i++)
set.add(i);
return set;
}
public static HashSet<Integer> removeAllNumbersMoreThan10(HashSet<Integer> set) {
Iterator iter=set.iterator();
for (int i=0;iter.hasNext();i++)
{
if (((int)iter.next())>10) {set.remove(i); i--;}
}
return set;
}
public static void main(String[] args) {
HashSet a=createSet();
Iterator iter=a.iterator();
for (int i=0;i<a.size();i++)
System.out.println(iter.next());
removeAllNumbersMoreThan10(a);
for (int i=0;i<a.size();i++)
System.out.println(iter.next());
}
}