hi,
habe folgende aufgabe:
Schreiben Sie eine Klasse Dreieck mit sechs Attributen x1, y1, x2, y2, x3 und y3 vom Typ double. Ein Objekt vom Typ Dreieck soll ein Dreieck im zweidimensionalen Raum mit Eckpunkten (x1; y1); (x2; y2) und (x3; y3) repräsentieren. Für die gesamte Aufgabe gilt, dass kein Fall betrachtet werden muss, bei denen die drei Eckpunkte kein echtes Dreieck bilden, weil sie auf einer Geraden liegen.
a) Erweitern Sie die Klasse Dreieck um eine Methode flaeche ohne Argumente, welche den Flächeninhalt
des Dreiecks als double Wert zurück liefert. Der Flächeninhalt A eines beliebigen Dreiecks mit gegebenen
Koordinaten (x1; y1); (x2; y2) und (x3; y3) der Eckpunkte errechnet sich gemäÿ der folgenden Trapezformel : |(1/2) x1*(y2-y3)+x2*(y3-y1)+x3*(y1-y2))|
b)
Erweitern Sie die Klasse Dreieck um die argumentlosen Methoden minimalX, minimalY, maximalX und
maximalY. Diese Methoden sollen jeweils die minimale (maximale) X- bzw. Y-Koordinate als double Wert
zurück liefern, die zum Dreieck gehört. Weiterhin soll die Klasse um eine Methode verschiebe erweitert
werden, welche zwei double Werte als Argumente erhält und das Dreieck um die übergebenen Koordinaten
verschiebt. Da diese Methode nur das Objekt manipuliert und keinen Wert zurück liefert, hat sie den Rückgabetyp void.
so ich habe dazu folgenden code geschrieben:
ist der code bishierhin okay? die letzte methode "verschiebe" scheint mir nicht richtig zu sein. da bin ich nämlich stehen geblieben. hatte keine ansätze mehr wie ich weitermachen sollte.
habe folgende aufgabe:
Schreiben Sie eine Klasse Dreieck mit sechs Attributen x1, y1, x2, y2, x3 und y3 vom Typ double. Ein Objekt vom Typ Dreieck soll ein Dreieck im zweidimensionalen Raum mit Eckpunkten (x1; y1); (x2; y2) und (x3; y3) repräsentieren. Für die gesamte Aufgabe gilt, dass kein Fall betrachtet werden muss, bei denen die drei Eckpunkte kein echtes Dreieck bilden, weil sie auf einer Geraden liegen.
a) Erweitern Sie die Klasse Dreieck um eine Methode flaeche ohne Argumente, welche den Flächeninhalt
des Dreiecks als double Wert zurück liefert. Der Flächeninhalt A eines beliebigen Dreiecks mit gegebenen
Koordinaten (x1; y1); (x2; y2) und (x3; y3) der Eckpunkte errechnet sich gemäÿ der folgenden Trapezformel : |(1/2) x1*(y2-y3)+x2*(y3-y1)+x3*(y1-y2))|
b)
Erweitern Sie die Klasse Dreieck um die argumentlosen Methoden minimalX, minimalY, maximalX und
maximalY. Diese Methoden sollen jeweils die minimale (maximale) X- bzw. Y-Koordinate als double Wert
zurück liefern, die zum Dreieck gehört. Weiterhin soll die Klasse um eine Methode verschiebe erweitert
werden, welche zwei double Werte als Argumente erhält und das Dreieck um die übergebenen Koordinaten
verschiebt. Da diese Methode nur das Objekt manipuliert und keinen Wert zurück liefert, hat sie den Rückgabetyp void.
so ich habe dazu folgenden code geschrieben:
Java:
public class Dreieck{
double x1;
double x2;
double y1;
double y2;
double x3;
double y3;
double flaeche()
{
return Math.abs ((1/2)*(x1*(y2-y3) + x2*(y3-y1) + x_3*(y1-y2)))
}
/* die folgenden Methoden sollen jeweils die minimale bwz. (maximale)
* X-bzw.Y-Koordinate als double-Wert zurückliefern
*/
double minimalX()
{
Math.max(x1,x2,x3);
}
double minimalY()
{
Math.min(y,1y2,y3);
}
double maximalX()
{
Math.min(x1,x2,x3);
}
double maximalY()
{
Math.max(y1,y2,y3);
}
// Methode, die die Koordinaten verschieben soll
void verschiebe(double x, double y)
{
x1 = x1 + x;
x2 = x2 + x;
x3 = x3 + x;
y1 = y1 + y;
y2 = y2 + y;
y3 = y3 + y;
}
ist der code bishierhin okay? die letzte methode "verschiebe" scheint mir nicht richtig zu sein. da bin ich nämlich stehen geblieben. hatte keine ansätze mehr wie ich weitermachen sollte.
Zuletzt bearbeitet: