Verständnisproblem einer Übungsaufgabe

Sir.JavaNoob

Mitglied
Hallo an alle Mitglieder dieses Java Forums,

wie der Überschrift zu entnehmen ist, stehe ich derzeit bei einer Übungsaufgabe auf dem Schlauch. Es folgt die Aufgabenstellung und ein Feedback meinerseits, wie ich diese Aufgabe verstanden habe.


Aufgabenstellung:
Erstellen Sie eine neue Klasse Rectangle mit den privaten Variablen height, width und area.
Mit dem Konstruktor soll ein Rechteck mit einer festgelegten Fläche erstellt werden. Sie können Höhe und
Breite dabei frei (jedoch passend) wählen. Die Höhe und Breite können über setter-Methoden unabhängig voneinander angepasst werden, jedoch soll die Fläche immer konstant bleiben.

Wie ich die Aufgabe verstanden habe, bzw. was ich alles bereits implementiert habe:
Der erste Abschnitt (neue Klasse erstellen, private Variablen height, width, area) ist klar!
Zweiter Abschnitt: festgelegte Fläche? Ich habe das nun so implementiert, dass wenn ich von meiner
main Methode aus ein neues Rectangle Objekt instanziiere, dass zunächst einmal der Konstruktor klarerweise aufgerufen wird und dieser meiner Fläche, bzw area einfach einen konstanten Wert zuweist.. War das so gemeint? Ich hoffe doch ja! Zudem kann ich die Höhe und Breite des Rechteckes "variabel" bestimmen. Sprich beim instanziieren eines neuen Rectangle Objektes übergebe ich willkürliche Werte für die Breite und Höhe des Rechteckes... Was heißt hier (jedoch passend?) Was ist, wenn ich keinen schimmer von der Fläche des Rechteckes habe? Diese wurde ja zuvor "konstant" festgelegt. Und was mir nun (falls ich die Aufgabe so richtig interpretiert habe) schwer fällt ist, wie zum Geier ich unpassende Höhe und Breitenverhältnis so anpasse, dass es wiederum zur Fläche des Rechteckes passt...


Sorry für den zugegebenermaßen etwas ausführlichen Text! Ich hoffe euch damit nicht erschlagen zu haben!

glg
Sir.JavaNoob 🙂
 
Mit dem Konstruktor soll ein Rechteck mit einer festgelegten Fläche erstellt werden. Sie können Höhe und
Breite dabei frei (jedoch passend) wählen. Die Höhe und Breite können über setter-Methoden unabhängig voneinander angepasst werden, jedoch soll die Fläche immer konstant bleiben.

Fläche soll konstant bleiben, bedeutet:
Du legst die Fläche auf 40 cm² fest.
So jetzt sollst du noch Höhe und Breite festlegen:
Höhe könnte sein: 8 cm
Breite könnte sein: 5 cm
Im allgemeinen kann man sagen, dass Höhe und Breite zusammen den Flächeninhalt des Rechteckes ergeben muss. Der von dir einmal (z.B hier: 40cm²) festgelegt wird. Höhe und Breite können aber variieren, müssen aber zusammen 40cm² ergeben!

MfG

Machareder
 
Zuletzt bearbeitet:
Vielen Dank für die rasche Antwort. Ich habe nun alles "fertig". Das war ja mal mehr als einfach, wäre da bloß nicht das Verständnisproblem gewesen! 😛

glg

Sir.JavaNoob =)
 
Hier der fertige Code zur Aufgabe... 😛

Java:
public class Rectangle {
	private int height;
	private int width;
	private int area;
	
	public Rectangle(int height, int width) {
		this(40);
		setHeight(height);
		setWidth(width);
	}
	private Rectangle(int area) {
		this.area = area;
	}
	
	public void setHeight(int height) {
		this.height = height;
	}
	public void setWidth(int width) {
		this.width = width;
	}
	
	public int getArea() {
		return this.area;
	}
	public int getHeight() {
		return this.height;
	}
	public int getWidth() {
		return this.width;
	}
	
	public String toString() {
		int check = getHeight() * getWidth();
		if(check != getArea()) {
			return "Error! Breite und Hoehe stimmen nichr zur Flaeche ueberein!";
		} else {
			return "Die Flaeche des Rechteckes betraegt: " + getArea() + "cm^2\nDie Hoehe bestraegt: " + getHeight() + "cm\nDie Breite betraegt: " +getWidth() + "cm";
		}
	}
	
	public static void main(String[] args) {
		Rectangle rechteck1 = new Rectangle(5,8);
		System.out.println(rechteck1.toString());
	}
}
 
Ich lese da etwas mehr aus der Aufgabenstellung.

1. Einen Konstrucktor in dem ich "nur" die Fläche angebe.
2. Du solltest die Fläche berechnen, und nicht im Konstruktor hardCoded setzen!
3. Die Setter sollten überprüfen ob der Wert so gesetzt werden kann/darf, und wenn ja dann den anderen längen Wert entsprechende setzen!
4. Sind die Datentypen geeignet? (Was passiert wenn ich ein recheck von 25m² haben möchte mit einer höhe von 10m) ?
5. Was passiert wenn ein Anwender bei Höhe / Breite eine 0 setzt? // Deine setter würden es erlauben.
 
Zuletzt bearbeitet:
Ohhh jeee,

da hab ich nur sein Danke gelesen und es garnicht mitbekommen, dass er noch Code gepostet hat.

#Shulyn du hast natürlich recht!!! Und ich dachte meine Erklärung wäre verständlich 😀 Hab ja eigentlich mit "fest legen" und "könnte sein" gearbeitet 😉 Hoffentlich liest er sich dass nocheinmal durch!

MfG

Machareder
 
Hallo,

ich habe es mir nochmal durchgelesen und bin schließlich zu einem richtigen Ergebnis gekommen! Das liegt aber schon gut 2 Monate zurück. Dennoch möchte ich mich für all die Hinweise etc. bedanken! Eins möchte ich jedoch noch verraten bekommen: Wie ist es mir möglich, posts hier im Forum zu bewerten? 😉

EDIT:

Ich habe es gefunden!
 
Zuletzt bearbeitet:

Neue Themen


Zurück
Oben