Erste Schritte Dreieck Umfang berechnen

javaninja

Mitglied
Hallo ich habe gerade begonnen Java zu erlernen. Die ersten Anwendungsaufgaben habe ich auch alle verstanden aber jetz stehe ich leider schon auf dem schlauch. Dummerweise auch so, dass ich keine schlauen Fragen stellen kann. Ich möchte die Aufgabe nicht gelöst haben, wollte nur einen Gedankenanstoss kriegen. Ist jmd. bereit?

Aufgabe ist es eine neue Methode zu erstellen und zwar den Umfang des Dreiecks zu berechnen. Mir ist nun aber nicht ganz klar, ob ich eine neue Klasse erstellen muss und welche Seiten ich zur Berechnung nutze? Vielen Dank für eventuelle Anregungen:

Triangle.java

Java:
/**
 * Eine Klasse zum Erzeugen von Dreieck-Objekten. Ein Dreieck hat 3 Seiten a, b
 * und c die den folgenden Eigenschaften entsprechen muessen: Erstens, alle drei
 * Seiten muessen einen positiven Wert haben. Zweitens, die drei Seiten muessen
 * den folgenden Ungleichungen entsprechen: a < b+c, b< a+c, c < a+b.
 * 
 */
public class Triangle {
    // Drei Attribute fuer die drei Seiten des Dreiecks
    private float a;
    private float b;
    private float c;

    /**
     * Der Konstruktor erzeugte Objekte vom Typ Triangle mit den Standardwerten
     * 3, 4 and 5.
     */
    public Triangle() {
        // So wird ein anderer Konstruktor in der Klasse aufgerufen
        this(3, 4, 5);
    }

    /**
     * Der Konstruktor erzeugte Objekte vom Typ Triangle. Wenn die uebergebenen
     * Werte fuer die drei Seiten nicht den, Vorschriften fuer ein Dreieck
     * entsprechen, wird ein Dreieck mit den Standardwerten 3, 4 und 5 erzeugt.
     * 
     * @param a
     *            erste Seite
     * @param b
     *            zweite Seite
     * @param c
     *            dritte Seite
     */

    public Triangle(float a, float b, float c) {
        if (a <= 0 || b <= 0 || c <= 0 || a >= b + c || b >= a + c
                || c >= a + b) {
            System.out
                    .println("Fehler in den Uebergabeparametern. Es wird ein Dreieck mit Standardwerten erzeugt.");
            // In den folgenden Zuweisungen wird ein int Wert in einen float
            // Wert umgewandelt.
            // Das Schluesselwort this wird benutzt um das Attribut a (this.a)
            // vom Parameter a zu unterscheiden und aehnlich fuer b und c
            this.a = 3;
            this.b = 4;
            this.c = 5;
        } else {
            this.a = a;
            this.b = b;
            this.c = c;
        }
    }

    /**
     * Diese Methode ueberprueft ob das Dreieck gleichseitig ist.
     * 
     * @return true wenn das Dreieck gleichseitig ist, sonst false.
     */
    public boolean isEquilateral() {
        return (a == b && b == c);
    }

}
 
Zuletzt bearbeitet von einem Moderator:

eRaaaa

Top Contributor
Mehr ist es eig. nicht, eig. sogar eher weniger (zumindest nachdem was du oben schreibst) :)
Das static kann vermutlich weg, genauso wie die 3 Parameter. Summiere3Zahlen ist auch eine schlechte Namenswahl :)
 

javaninja

Mitglied
Okay sitze noch immer an der Aufgabe. Habe den ersten Teil zur Berechnung des Umfangs nun.

So geht´s oder:

public float getLength()
{
return this.a + this.b + this.c;

Jetzt sitze ich an Aufgabe zwei. Die Rechtwinlkigkeit des Dreiecks mithilfe eines boolean Wert wiedergeben.

Möchte dafür den Satz des Pythagoras nutzen. Wie kann ich nun a² darstellen?

Vielen Dank nochmal
 

HelpMe23

Neues Mitglied
Hallo Zusammen,
ich habe das selbe Problem wie javaninja und soll den Umfang eines Dreiecks berechnen. Ich habe ..
public float getLength()
{
return this.a + this.b + this.c;
..eingefügt, aber es funktioniert nicht. Danach soll ich noch prüfen, ob das Dreieck rechtwinklig ist..
Könnt ihr mir helfen?

Code:
public class Triangle {
    // Drei Attribute fuer die drei Seiten des Dreiecks
    private float a;
    private float b;
    private float c;

    /**
     * Der Konstruktor erzeugte Objekte vom Typ Triangle mit den Standardwerten
     * 3, 4 and 5.
     */
    public Triangle() {
        // So wird ein anderer Konstruktor in der Klasse aufgerufen
        this(3, 4, 5);
    }

    /**
     * Der Konstruktor erzeugte Objekte vom Typ Triangle. Wenn die uebergebenen
     * Werte fuer die drei Seiten nicht den, Vorschriften fuer ein Dreieck
     * entsprechen, wird ein Dreieck mit den Standardwerten 3, 4 und 5 erzeugt.
     *
     * @param a
     *            erste Seite
     * @param b
     *            zweite Seite
     * @param c
     *            dritte Seite
     */

    public Triangle(float a, float b, float c) {
        if (a <= 0 || b <= 0 || c <= 0 || a >= b + c || b >= a + c
                || c >= a + b) {
            System.out.println("Fehler in den Uebergabeparametern."
                    + "Ein Dreieck mit Standardwerten wird erzeugt.");
            // In den folgenden Zuweisungen wird ein int Wert in einen float
            // Wert umgewandelt.
            // Das Schluesselwort this wird benutzt um das Attribut a (this.a)
            // vom Parameter a zu unterscheiden und aehnlich fuer b und c
            this.a = 3;
            this.b = 4;
            this.c = 5;
        } else {
            this.a = a;
            this.b = b;
            this.c = c;
          
            public float getUmfang()
            {
            return this.a + this.b + this.c;
            }
         
    }

    /**
     * Diese Methode ueberprueft ob das Dreieck gleichseitig ist.
     *
     * @return true wenn das Dreieck gleichseitig ist, sonst false.
     */
    public boolean isEquilateral() {
        return (a == b && b == c);
    }

}
 

Neue Themen


Oben