извините за плохой предмет темы, но я не мог выяснить, что написать правильно. (пожалуйста, исправьте тему, если она не понята).
Итак, моя проблема:
У меня есть интерфейс Shape и два класса реализуют после этого Circle и Square.
Мне нужно написать класс, который будет собирать круг и квадрат. Это должен быть один из методов сбора, который не будет добавлять дубликаты объектов. Я выбрал «набор» после прочтения в документации Java. Но я не уверен, что это была хорошая идея. (Я могу использовать один из четырех методов: map. set. list. или queque).
В конце концов я создал еще один класс с именем ShapeSet и методом
public void ShapeSet(Shape Set)
Это выглядит так:
public class ShapeSet {
public ShapeSet() {}
Set <Shape> setting; //is it wrong?
public void addShape(Shape shape) {
setting.add(shape);
}
...
}
После этого, думая, что я делаю правильно, я создал в основном классе конструктор, определяющий квадрат и круг. Я создал также ShapeSet ss
.
public static void main(String[] args) {
// TODO code application logic here
ShapeSet ss = new shapes.ShapeSet();
Shape c = new Circle(3);
Shape s = new Square(4);
ss.addShape(c);
ss.addShape(s);
ss.iterator();
}
Но во время работы программы я получил ошибку в строке ss.addShape (x), netbeans жалуется, что обнаружил нулевое исключение. Зачем? ; (Я думаю, что типы, введенные в метод shapeset, были неправильными и, возможно, неправильной позицией объявления установки набора. Но как это исправить? Я новичок в Java. Я благодарен за помощь. Заранее спасибо.