Kreis soll die gleiche Fläche wie das Rechteck haben wie mache ich das?

Jonathan.70

Neues Mitglied
Hallo zusammen,
ich habe momentan Probleme mit der Lösung einer Hausaufgabe die morgen fertig sein muss. Und zwar lautet die Aufgabenstellung:
Zuerst sollen die Länge und die Breite eines Rechtecks eingelesen werden (mit JOptionPane.showInputDialog). Anschließend ist der Radius des Kreises so zu bestimmen, dass er den gleichen Flächeninhalt wie das Rechteck hat.
In der Konsole soll dann dementsprechend das dabei raus kommen:
Rechtecklänge: 10.0
Rechteckbreite: 20.0
Rechteckfläche: 200.0
Kreisradius: 7.978845608028654
Kreisfläche: 200.0

Kann mir bitte jemand helfen ich habe wirklich keine Vorstellung wie ich das machen soll (Bin noch Anfänger).
Alles was ich bis jetzt habe ist das:


public class FlaechengleicherKreis {
public static void main(String[] args) {



Rechteck rechteck = new Rechteck();
Kreis kreis = new Kreis();



double a = 0;
double b = 0;

try {

a=Double.parseDouble(JOptionPane.showInputDialog(null,"Länge des Rechtecks eingeben:"));

} catch (Exception E) {

a = 0;

}

try {

b=Double.parseDouble(JOptionPane.showInputDialog(null, "Breite des Rechtecks eingeben:"));

} catch (Exception E) {

b = 0;

}

rechteck.setLaenge(a);
rechteck.setBreite(b);
a=0;b=0;

System.out.println("Rechtecklänge: " + rechteck.getLaenge());
System.out.println("Rechteckbreite: " + rechteck.getBreite());
System.out.println("Rechteckflaeche: " + rechteck.getFlaeche());
System.out.println("Kreisradius: " + kreis.getradius());
System.out.println("Kreisflaeche: " + kreis.getFlaecheKreis());

}

}


package Rechteck.java;


public class Rechteck {



private double Rechtecklänge;
private double Rechteckbreite;

public Rechteck() {

laenge = 0;
breite = 0;

}

public void setLaenge (double laenge) {

this.laenge = laenge;

}

public void setBreite(double breite) {

this.breite = breite;

}

public double getLaenge();

return this.laenge;

}

public double getBreite();

return this.breite;

}
}
 
Ich würde Dich bitten, Code immer in Code-Tags zu posten (Der </> Knopf über dem Eingabefeld). Dann ist der Code leichter lesbar.

Dann fehlt da noch eine Klasse Kreis. Und im Augenblick setzt Du beim Kreis noch keine Werte. Da müsste dann eine Methode setFlaecheKreis(double) existieren, die Du aufrufen musst, ehe Du die Kreisdaten ausgibst.

Wenn Du eine solche Methode im Kreis noch nicht haben solltest, dann musst Du diese entweder schreiben oder Du berechnest den Radius erst so und rufst dann setRadius(double) auf.

Ansonsten war es das grob schon. Es fallen zwar noch ein paar andere Punkte auf, aber die sind erst einmal im ersten Schritt ok.

Fall die Berechnung des Radius aus der Fläche unklar sein sollte: Schau Dir die Formel zur Flächenberechnung an und stell die Formel einfach um.
Wurzel aus etwas kannst Du mit Math.sqrt(double) berechnen und pi hast Du in Math.PI.
 
Morgen abgeben , das fällt dir aber früh ein. Dann viel Glück.
Hier mal eine ToDo-Liste entsprechend objektorientiert.
Geht natürlich auch einfacher, indem du die Werte einliest, berechnest und wieder ausgibst.
Aber, das ist wohl nicht Sinn dieser Übung.

Klasse Rechteck:
- Überlege welche Werte du in der Klasse speichern möchtest. (Länge, Breite und Fläche)
- Erstelle in der Klasse einen Konstruktor, der die Länge und die Breite übergeben bekommt und die Fläche ausrechnet.
- Erstelle in der Klasse div. Getter um die Länge, Breite und Fläche auszulesen.

Klasse Kreis:
- Überlege welche Werte du in der Klasse speichern möchtest. (Radius, Fläche)
- Erstelle in der Klasse einen Konstruktor, der die Fläche übergeben bekommt und den Radius berechnet.
- Erstelle in der Klasse div. Getter um den Radius und die Fläche auslesen.

Programmablauf:
- Werte Länge, Breite einlesen.
- Ein Objekt der Klasse Rechteck über den oben genannten Konstruktor (Länge, Breite) erstellen.
- Ein Objekt der Klasse Kreis erstellen und den Wert der Fläche aus dem Objekt Rechteck übergeben (Getter Fläche);
- Alle benötigten Werte mit den Gettern aus den Klassen auslesen und anzeigen lassen.

MfG
 
Im Rechteck würde ich die Fläche nicht speichern. Die wird bei Bedarf aus Breite und Länge berechnet. Aber getFlaeche() fehlt tatsächlich auch noch. das hatte ich übersehen.
 

Zurück
Oben