Ich habe Probleme mit einem Codeabschnitt für ein einfaches Zeichenprogramm in Java. Ich habe eine Klasse namens „Leuchten“, die den Code hat:Java Besucher zurück Problem
public static final Shape simpleGroup = new Group(
new Location(200, 100, new Circle(50)),
new Location(400, 300, new Rectangle(100, 50))
);
public static final Shape middleGroup = new Location(50, 100,
new Group(
new Outline(new Rectangle(50, 30)),
new Group(
new Circle(20),
new Rectangle(50, 30)
)
)
);
public static final Shape complexGroup = new Location(50, 100,
new Group(
new Circle(20),
new Rectangle(100, 200),
new Location(150, 50,
new Stroke(Color.RED,
new Fill(
new Group(
new Rectangle(50, 30),
new Outline(new Rectangle(300, 60)),
new Stroke(Color.CYAN,
new Polygon(
new Point(50, 50),
new Point(60, 100),
new Point(100, 110),
new Point(120, 60)
)
),
new Location(100, 200,
new Stroke(Color.MAGENTA,
new Outline(new Circle(50))
)
)
)
)
)
)
)
);
Ich habe dann eine Klasse namens „Größe“, die angeblich die Anzahl der Objekte in Vorrichtungen zu zählen. Ich habe eine Testklasse, die behauptet, dass groupsimple 2 zurückgibt, groupmiddle returns 3 und groupcomplex 6 zurückgibt. Ich soll den Größencode korrigieren, aber ich kann es nicht herausfinden.
@Override
public Integer onGroup(final Group g) {
return null;
}
Die Gruppe Klasse Code:
public class Group implements Shape {
protected final List<? extends Shape> shapes;
public Group(final Shape... shapes) {
this.shapes = Arrays.asList(shapes);
}
public List<? extends Shape> getShapes() {
return Collections.unmodifiableList(shapes);
}
@Override
public <Result> Result accept(final Visitor<Result> v) {
return v.onGroup(this);
}
Es gibt mehr Klassen beteiligt, aber ich denke, das sollte genug sein meinen Punkt zu zeigen. Jede Hilfe würde sehr geschätzt werden.
Willkommen bei Stack Overflow! Fragen, die Debugging-Hilfe suchen ("Warum funktioniert dieser Code nicht?") Müssen das gewünschte Verhalten, ein bestimmtes Problem oder einen Fehler und den kürzesten Code enthalten, der zur Reproduktion in der Frage erforderlich ist. Fragen ohne eine klare Problemstellung sind für andere Leser nicht nützlich. Siehe: [Erstellen eines minimalen, vollständigen und überprüfbaren Beispiels] (http://stackoverflow.com/help/mcve). –