Hier die Aufgabenstellung:
Schreibe ein Programm, das die Fläche von Rechtecken berechnet. Folgende 3 Klassen sind zu programmieren:
1) Klasse Point: enthält die beiden Koordinaten eines Punktes. Schreibe einen passenden Konstruktor und eine Methode print(), die die Koordinaten des Punktes auf die Konsole ausgibt. Eine statische Variable soll mitzählen, wieviele Punkte erzeugt wurden.
2) Klasse Rectangle: enthält 2 Objekte des Typs Point als Variable. Schreibe einen Konstruktor, der ein Rechteck aus 2 Parametern des Typs Point (linke obere Ecke und rechte untere Ecke des Rechtecks) erzeugt und einen, der ein Rechteck aus 4 int-Werten (jeweils 2 x u. y-Koordinaten) erzeugt. Auch hier soll es eine Methode print() geben, die die Punkte des Rechtecks auf die Konsole ausgibt (es sollen als in dieser Methode die print-Methoden von Point aufgerufen werden). Eine statische Variable soll mitzählen, wieviele Rechtecke erzeugt wurden.
Die Methode area() soll die Fläche des Rechtecks zurückgeben (zeichne eine kleine Skizze, dann sollte sofort klar sein, wie man die Fläche berechnen kann).
Erstelle für die Klassen Point und Rectangle eine sinnvolle JavaDoc!
3) Klasse RectangleProgram als Hauptprogramm. Es sollen 2 Punkte von der Konsole eingelesen werden und damit ein Rectangle erzeugt werden. Dieses soll dann auf die Konsole ausgegeben werden. Danach soll die Fläche berechnet und ebenfalls ausgegeben werden.
.....
Mein Programm funktioniert schon teilweise, und zwar habe ich die Point Klasse fertig programmiert, bei der Rectangle Klasse verstehe ich aber die Aufgabestellung nicht ruchtig. Ich habe den ersten Konstrukter fertig programmiert der die zwei Point Objekt bekommt, die Methode area () berechnet auch schon die Fläche. Dann steht aber weiter im Punkt zwei das man einen Konstrukter porgrammieren soll der vier int-Werten (jeweils 2 x u. y-Koordinaten) bekommt. Ich verstehe das mit den vier int Werten nicht, die Klasse bekommt ja nur zwei objekte des Typs Point.
Hier mein bereitsgemachter Quellcode:
Point Klasse:
Rectangle Klasse
RectangleMain
Danke im Voraus.
MFG
Schreibe ein Programm, das die Fläche von Rechtecken berechnet. Folgende 3 Klassen sind zu programmieren:
1) Klasse Point: enthält die beiden Koordinaten eines Punktes. Schreibe einen passenden Konstruktor und eine Methode print(), die die Koordinaten des Punktes auf die Konsole ausgibt. Eine statische Variable soll mitzählen, wieviele Punkte erzeugt wurden.
2) Klasse Rectangle: enthält 2 Objekte des Typs Point als Variable. Schreibe einen Konstruktor, der ein Rechteck aus 2 Parametern des Typs Point (linke obere Ecke und rechte untere Ecke des Rechtecks) erzeugt und einen, der ein Rechteck aus 4 int-Werten (jeweils 2 x u. y-Koordinaten) erzeugt. Auch hier soll es eine Methode print() geben, die die Punkte des Rechtecks auf die Konsole ausgibt (es sollen als in dieser Methode die print-Methoden von Point aufgerufen werden). Eine statische Variable soll mitzählen, wieviele Rechtecke erzeugt wurden.
Die Methode area() soll die Fläche des Rechtecks zurückgeben (zeichne eine kleine Skizze, dann sollte sofort klar sein, wie man die Fläche berechnen kann).
Erstelle für die Klassen Point und Rectangle eine sinnvolle JavaDoc!
3) Klasse RectangleProgram als Hauptprogramm. Es sollen 2 Punkte von der Konsole eingelesen werden und damit ein Rectangle erzeugt werden. Dieses soll dann auf die Konsole ausgegeben werden. Danach soll die Fläche berechnet und ebenfalls ausgegeben werden.
.....
Mein Programm funktioniert schon teilweise, und zwar habe ich die Point Klasse fertig programmiert, bei der Rectangle Klasse verstehe ich aber die Aufgabestellung nicht ruchtig. Ich habe den ersten Konstrukter fertig programmiert der die zwei Point Objekt bekommt, die Methode area () berechnet auch schon die Fläche. Dann steht aber weiter im Punkt zwei das man einen Konstrukter porgrammieren soll der vier int-Werten (jeweils 2 x u. y-Koordinaten) bekommt. Ich verstehe das mit den vier int Werten nicht, die Klasse bekommt ja nur zwei objekte des Typs Point.
Hier mein bereitsgemachter Quellcode:
Point Klasse:
Java:
class Point
{
int x;
int y;
static int counter = 0;
public Point (int x, int y)
{
this.x = x;
this.y = y;
counter ++;
}
public void print ()
{
Out.print ("("+this.x+"/"+this.y+")");
}
}
Rectangle Klasse
Java:
class Rectangle
{
Point a, b;
int length, high;
static int counter;
/**
* Bekommt zwei Objekte des Types point
*/
public Rectangle (Point a, Point b)
{
this.a = a;
this.b = b;
counter++;
length = b.x-a.x;
high = b.y-a.y;
}
public int area ()
{
int area = length*high;
return area;
}
}
RectangleMain
Java:
class RectangleProgram
{
public static void main ()
{
int x,y;
Out.println ("Rechtecks Flächenberechner");
Out.println ();
Out.print ("Geben Sie die erste x-Koordinate ein: ");
x = In.readInt ();
Out.print ("Geben Sie die erste y-Koordinate ein: ");
y = In.readInt ();
Point a = new Point (x, y);
Out.print ("Geben Sie die zweite x-Koordinat ein: ");
x = In.readInt ();
Out.print ("Geben Sie die zweite y-Koordinat ein: ");
y = In.readInt ();
Point b = new Point (x, y);
Out.println ();
Out.print ("A");
a.print ();
Out.print (" B");
b.print ();
Out.println ();
Rectangle i = new Rectangle (a, b);
Out.print ("Flächeninhalt des Rechtecks: "+i.area ());
}
}
Danke im Voraus.
MFG
Zuletzt bearbeitet von einem Moderator: