Wie kann ich mithilfe von Bluej mir z.b die Fläche eines Rechtecksausrechnen?

1 Antwort

Also die Variablen werden zu Beginn der Klasse, nicht im Konstruktor, deklariert (erstellt).

Jetzt kannst du einen Konstruktor mit zwei Parametern erstellen, der die beiden Variablen mit den beiden Eingaben, also den Parametern, initialisiert (überschreibt/mit Werten befüllt).
Wurde also dieser Konstruktor aufgerufen, hast du ein Objekt der Klasse, welches die beiden Variablen enthält, welche wiederum die eingegebenen Größen enthält.

Jetzt kannst du deine Methoden erstellen und die beiden zu Beginn der Klasse definierten Variablen verwenden. Beispielsweise die Methode:

public double berechneFlächeninhalt() {
    return breite*hoehe;
}

Achte darauf die richtigen Datentypen zu verwenden. Sind die Variablen breite und hoehe beispielsweise vom Typ int, dann muss der Rückgabewert der Methode natürlich auch int sein (da int*int=int); oder du lässt es bei double und schreibst:

return (double) breite*hoehe;

Variablen = Attribute

0
@crizeo

Nicht ganz.

Attribute sind eine Art Variablen.

Denn lokale Variablen sind keine Attribute.

0

Was ist dein Problem? Kannst auch nichts außer Kritik üben, statt lieber was sinnvolles beizutragen. Hab Variable = Attribute geschrieben weil ich die Begriffe hier äquivalnt benutzt habe, nicht weil es (in der theoretischen Informatik) korrekt ist. Praktisch ist es verständlich.

0

Okay ja, jetzt hast du deinen Beitrag nochmal bearbeitet. Damit hast du natürlich recht aber ich nehm die Begriffe mit gleicher Bedeutung her; ging mir nur ums Verständnis

0

Also ich hab bisher das, aber das ist falsch :/ kannst du mich bitte korriergen : 

public class Rechteck

{ private String länge; private String breite;  

public Rechteck(){

 länge = 5; 

 breite = 8; } 

 public double berechneFlächeninhal() { return länge*breite; }}

0

Ich hab schon länger nichts mehr mit BlueJ gemacht, aber ersetz mal die Umlaute. Ä, ö und ü werden meist wie Sonderzeichen nicht erkannt.

Also schreib zum Beispiel hoehe statt höhe

0
@crizeo

Ist gemacht hat aber leider wenig gebracht, da steht nun incompatible type:...

0

AHH ich habe den fehler gefunden ich habe als ich die ATtribute bestimmt habe String benutz anstatt int ^^


0
@SoSoWo

Kannst du mir auch sagen wie ich dass nun mit der Diagonale mache und mit wahr oder nicht wahr ? Hier nochmal die ganze Aufgabe:

 Die Klasse Rechteck besitzt die Attribute laenge und breite. Implementiere die Klasse undfolgende Methoden mit entsprechenden Inhalten:

(a) double flaecheBerechnen();

(b) boolean istQuadrat ();

(c) void groesseSetzen (int neuL, int neuB);(d) double diagonaleBerechnen ();

d) double diagonaleBerechnen ();

0
@SoSoWo

Wie stellt man den fest, ob ein Rechteck ein Quadrat ist? Was muss gegeben sein, damit dies eintritt?

Ich nehme an, dass ihr schon mit Vergleichsoperatoren gearbeitet habt, ansonsten würdet ihr diese Aufgaben wohl nicht bekommen.

Du hast "int" als Datentyp für Breite und Höhe verwendet. Warum? Für die restlichen Aufgaben hast du damit eher Probleme, als mit einem Datentyp für Gleitzahlen.

0

Wie JavaTheHutt geschrieben hat wuerde ich an deiner Stelle double fuer die Attribute nehmen, dann musst du bei den Methoden weniger umformen und hast es leichter.

Zu den anderen Aufgaben: Naja dasmusst du schon selbst hinkriegen, ich schreib jetzt nicht ewig Code. Aber bei der Funktion istQuadrat wird ein boolscher Wert zurueckgegeben (boolean) (true/falss), der eben sagt obs quadratisch ist oder nicht. Wann is es quadratisch? Wenn die Kanten gleich lang sind. Zum Vergleichen gibts den Operator ==, der true oder false liefern kann. Die Diagonale kriegst du ueber die Formel a^2 + b^2 = c^2, wobei a und b die Kanten sind. Quadrieren kannst du einfach mit x^2 = x*x und die Wurzel ziehen (brauchst du um c aus c^2 zu bekommen) geht mit c = Math.sqrt(Quadrat von c). Dafuer brauchst du evtl. import java.lang.Math;

0

Was möchtest Du wissen?