код вообще не принимает. выдаёт ошибку. в идее все работает. удаляет кота по имени
не понимаю что не так
package com.javarush.task.task08.task0819;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
/*
Set из котов
*/
public class Solution {
public static void main(String[] args) {
Set<Cat> cats = createCats();
Iterator<Cat> iter = cats.iterator();
while (iter.hasNext()) //проверка, есть ли ещё элементы
{
//получение текущего элемента и переход на следующий
if (iter.next().name.equals("cat2"))
cats.remove(cats.iterator().next());
}
//напишите тут ваш код. step 3 - пункт 3
printCats(cats);
}
public static Set<Cat> createCats() {
Cat cat1 = new Cat("cat1");
Cat cat2 = new Cat("cat2");
Cat cat3 = new Cat("cat3");
HashSet<Cat> cats = new HashSet<Cat>();
cats.add(cat1);
cats.add(cat2);
cats.add(cat3);
return cats;
}
public static void printCats(Set<Cat> cats) {
// step 4 - пункт 4
Iterator<Cat> iterator = cats.iterator();
while (iterator.hasNext()) //проверка, есть ли ещё элементы
{
//получение текущего элемента и переход на следующий
Cat text = iterator.next();
System.out.println(text);
}
}
public static class Cat {
String name;
public Cat () {
}
public Cat (String name) {
this.name = name;
}
}
}