kurwajebana
Grünschnabel
Hallo, kann mir jemand Helfen? Die Klasse Quad repräsentiert Parallelogramme, Rechtecke und Quadrate. Der erste Punkt dieser
Vierecke ist immer der Ursprung mit Koordinaten x= 0, y= 0. Der zweite Punkt liegt immer auf der x-Achse,
d.h. es ist y= 0. Für ein Quadrat muss man nur einen Punkt angeben, für die anderen beiden Vierecke zwei
Punkte. Der zweite Punkt darf nicht auf der x-Achse liegen (sonst gibt es kein Viereck!).
Vierecke ist immer der Ursprung mit Koordinaten x= 0, y= 0. Der zweite Punkt liegt immer auf der x-Achse,
d.h. es ist y= 0. Für ein Quadrat muss man nur einen Punkt angeben, für die anderen beiden Vierecke zwei
Punkte. Der zweite Punkt darf nicht auf der x-Achse liegen (sonst gibt es kein Viereck!).
Code:
enum QType {PARA, RECT, SQUARE} // Parallelogramm, Rechteck, Quadrat
public class Quad /* Viereck */ { // nur diese Felder erlaubt!
private QType qType; // der Typ des Vierecks, siehe Ausgabe
private Point[] v; // die Ecken
// ungültige Punkte oder Koordinaten lösen eine IllegalArgumentException aus!
public Quad(Point... vertex) { // etwa 10-15 Zeilen, siehe auch Ausgabe!
}
// gibt den Umfang des Vierecks zurück
public double circumference() { // Nur diese Variable erlaubt
double c= // Variable für Umfang
switch (qType) { // switch mit qType muss verwendet werden
}
return c;
}
public String toString() { // siehe Ausgabe!
// es muss die for-each Schleife verwendet werden!
}
}
Code:
Quad q= new Quad(new Point(1,0));
System.out.println(q);
System.out.println(q.circumference());
q= new Quad(new Point(1,0),new Point(1,3));
System.out.println(q);
System.out.println(q.circumference());
q= new Quad(new Point(1,0),new Point(2,1));
System.out.println(q);
System.out.println(q.circumference());
q= new Quad(new Point(1,1));
q= new Quad(new Point(1,0),new Point(2,0));
q= new Quad(new Point(1,0),new Point(2,1),
new Point(2,2));
Code:
Ausgabe:
SQUARE: [1,0]
4.0
RECT: [1,0][1,3]
8.0
PARA: [1,0][2,1]
4.82842712474619
IllegalArgumentException: Koordinaten nicht ok!
IllegalArgumentException: Koordinaten nicht ok!
IllegalArgumentException: Punktangaben nicht ok!