Hallo zusammen... folgende Aufgabe soll ich lösen, wobei ich ein Problem habe undzwar bei Aufgabe 4, weiss ich nicht genau welche Parameter ich dem Konstruktor übergeben muss...
Aufgabe 1
Erstellen Sie eine Klasse Koordinaten, die 2 ganzzahlige Instanzvariablen als x- und y-Koordinaten besitzt
und die über den Konstruktor initialisiert werden.
Desweiteren soll die Klasse Koordinaten die Methode toString überschreiben und eine Zeichenkette mit den
beiden Koordinaten z.B. wie folgt zurückgeben:
x=10 y=10
Aufgabe 2
Erstellen Sie eine abstrakte Klasse GeomFigur, die als Superklasse für weitere spezielle geometrische
Figuren dienen soll. Sie soll eine Instanzvariable koord vom Typ Koordinaten besitzen, die über den
Konstruktor initialisiert wird.
Zusätzlich soll GeomFigur eine sondierende Methode gibKoordinaten besitzen, die den Wert der
Instanzvariablen koord zurückliefert.
Weiterhin werden in GeomFigur 2 abstrakte Methoden ohne Parameter benötigt:
1. die abstrakte Methode flaeche, die den Rückgabetyp double hat,
2. die abstrakte Methode anzeigen, die nichts zurückliefert.
Aufgabe 3
Es sollen aus der Klasse GeomFigur zwei Subklassen Kreis und Rechteck abgeleitet werden, die folgende
Eigenschaften besitzen:
Die Klasse Kreis soll die ganzzahlige Instanzvariable radius besitzen und die Methode flaeche entsprechend
der Signatur aus GeomFigur implementieren und den Flächeninhalt des Kreises berechnen.
Die Methode anzeigen soll eine textuelle Ausgabe der Daten des Kreises auf der Konsole bewirken, z.B. wie
folgt:
Kreis: x=10 y=10 r=10 f=314.1592653589793
Die Klasse Rechteck besitzt die beiden ganzzahligen Instanzvariablen laenge und breite, ansonsten ist
analog zur Klasse Kreis zu verfahren, d.h. Es soll der Flächeninhalt des Rechtecks berechnet werden können
und eine textuelle Ausgabe der Daten des Rechtecks auf der Konsole wie folgt möglich sein:
Rechteck: x=20 y=200 l=20 b=20 f=400.0
Aufgabe 4
Zum Testen der 4 entwickelten Klassen schreiben Sie dann ein Java-Programm TestFiguren, dass die
folgenden Objekte in einer geeigneten Sammlung flexibler Größe speichert.
1. Objekt: Kreis mit den Koordinaten x=10 und y= 100, Radius 10,
2. Objekt: Rechteck mit den Koordinaten x=20 und y=200, Länge=20, Breite=20
3. Objekt: Rechteck mit den Koordinaten x=30 und y=300, Länge=10, Breite=5
Danach sollen alle Objekte der Reihe nach textuell auf der Konsole angezeigt werden und es soll die Figur
mit dem größten Flächeninhalt ermittelt werden, so dass sich folgende Konsolenausgabe darstellen lässt:
Kreis: x=10 y=100 r=10 f=314.1592653589793
Rechteck: x=20 y=200 l=20 b=20 f=400.0
Rechteck: x=30 y=300 l=10 b=5 f=50.0
Größte Figur: Rechteck mit den Koordinaten x=20 y=200
Oder liegt das Problem wo anders?
Wäre dankbar, wenn mir jemand helfen könnte, ich schreibe morgen eine Klausur in Java-Programmierung und weiss hier schon nicht weiter
Aufgabe 1
Erstellen Sie eine Klasse Koordinaten, die 2 ganzzahlige Instanzvariablen als x- und y-Koordinaten besitzt
und die über den Konstruktor initialisiert werden.
Desweiteren soll die Klasse Koordinaten die Methode toString überschreiben und eine Zeichenkette mit den
beiden Koordinaten z.B. wie folgt zurückgeben:
x=10 y=10
Java:
public class Koordinaten
{
public int x;
public int y;
public Koordinaten(int x, int y)
{
this.x = x;
this.y = y;
}
public String toString()
{
return "x=" + x + " y=" + y;
}
}
Aufgabe 2
Erstellen Sie eine abstrakte Klasse GeomFigur, die als Superklasse für weitere spezielle geometrische
Figuren dienen soll. Sie soll eine Instanzvariable koord vom Typ Koordinaten besitzen, die über den
Konstruktor initialisiert wird.
Zusätzlich soll GeomFigur eine sondierende Methode gibKoordinaten besitzen, die den Wert der
Instanzvariablen koord zurückliefert.
Weiterhin werden in GeomFigur 2 abstrakte Methoden ohne Parameter benötigt:
1. die abstrakte Methode flaeche, die den Rückgabetyp double hat,
2. die abstrakte Methode anzeigen, die nichts zurückliefert.
Java:
public abstract class GeomFigur
{
public Koordinaten koord;
public GeomFigur(Koordinaten koord)
{
this.koord=koord;
}
public Koordinaten gibKoordinaten()
{
return koord;
}
public abstract double flaeche();
public abstract void anzeigen();
}
Aufgabe 3
Es sollen aus der Klasse GeomFigur zwei Subklassen Kreis und Rechteck abgeleitet werden, die folgende
Eigenschaften besitzen:
Die Klasse Kreis soll die ganzzahlige Instanzvariable radius besitzen und die Methode flaeche entsprechend
der Signatur aus GeomFigur implementieren und den Flächeninhalt des Kreises berechnen.
Die Methode anzeigen soll eine textuelle Ausgabe der Daten des Kreises auf der Konsole bewirken, z.B. wie
folgt:
Kreis: x=10 y=10 r=10 f=314.1592653589793
Die Klasse Rechteck besitzt die beiden ganzzahligen Instanzvariablen laenge und breite, ansonsten ist
analog zur Klasse Kreis zu verfahren, d.h. Es soll der Flächeninhalt des Rechtecks berechnet werden können
und eine textuelle Ausgabe der Daten des Rechtecks auf der Konsole wie folgt möglich sein:
Rechteck: x=20 y=200 l=20 b=20 f=400.0
Java:
public class Kreis extends GeomFigur
{
private int radius;
public Kreis(Koordinaten koord, int radius)
{
super(koord);
this.radius = radius;
}
public double flaeche()
{
return radius*radius*Math.PI;
}
public void anzeigen()
{
System.out.print("Kreis: ");
System.out.print(toString());
System.out.println(" r=" + radius + " f=" + flaeche());
}
}
public class Rechteck extends GeomFigur
{
private int laenge;
private int breite;
public Rechteck(Koordinaten koord, int laenge, int breite)
{
super(koord);
this.laenge = laenge;
this.breite = breite;
}
public double flaeche()
{
return laenge*breite;
}
public void anzeigen()
{
System.out.print("Rechteck: ");
System.out.print(toString());
System.out.print(" l=" + laenge + " b=" + breite);
System.out.println(" f=" + flaeche());
}
}
Aufgabe 4
Zum Testen der 4 entwickelten Klassen schreiben Sie dann ein Java-Programm TestFiguren, dass die
folgenden Objekte in einer geeigneten Sammlung flexibler Größe speichert.
1. Objekt: Kreis mit den Koordinaten x=10 und y= 100, Radius 10,
2. Objekt: Rechteck mit den Koordinaten x=20 und y=200, Länge=20, Breite=20
3. Objekt: Rechteck mit den Koordinaten x=30 und y=300, Länge=10, Breite=5
Danach sollen alle Objekte der Reihe nach textuell auf der Konsole angezeigt werden und es soll die Figur
mit dem größten Flächeninhalt ermittelt werden, so dass sich folgende Konsolenausgabe darstellen lässt:
Kreis: x=10 y=100 r=10 f=314.1592653589793
Rechteck: x=20 y=200 l=20 b=20 f=400.0
Rechteck: x=30 y=300 l=10 b=5 f=50.0
Größte Figur: Rechteck mit den Koordinaten x=20 y=200
Java:
import java.util.ArrayList;
public class TestFiguren
{
public static void main(String[] args)
{
ArrayList<GeomFigur> objekte = new ArrayList<GeomFigur>();
// Hier ist mein Problem: Ich weiss nicht wie ich dem Konstruktor die Koordinaten richtig übergebe...
objekte.add(new Kreis(10,100,10));
for(GeomFigur g: objekte)
{
g.anzeigen();
}
}
}
Oder liegt das Problem wo anders?
Wäre dankbar, wenn mir jemand helfen könnte, ich schreibe morgen eine Klausur in Java-Programmierung und weiss hier schon nicht weiter