Wie lasse ich mir das Ergebnis einer Methode anzeigen?

1 Antwort

Eine Methode eines Objekts mit Ergebnis ruft man immer wie folgt auf:

typ variable = objekt.Methode(Parameter);

Bei dir würde das zum Beispiel so aussehen:

double umfang = a.gibUmfang(0, 0);

Und ausgeben ist auch ganz einfach:

System.out.println(umfang);

Ich hab jedoch noch ein par Dinge an deinem Code auszusetzen.

  1. Wieso übergibst du in den Methoden die Parameter länge und breite, obwohl diese in schon in der Instanz gespeichert sind?
  2. Die Methode 'istQuadrat' ist Fehlerhaft (mehr dazu im im Code)
  3. Es ist nicht möglich Variablen / Attribute zu deklarieren die Umlaute im Namen haben
  4. Ich weiß zwar nicht was für eine Online IDE du nutzt aber eigentlich muss das Programm eine statische Main Methode haben wo die Ausführung started

Ich hab dir hier mal den verbesserten Code geschrieben (die Änderungen sind in den Kommentaren erklärt)

public class RechteckHelfer {
    
    // Attribute
    public double laenge;     // Die deklaration von Attributen die Umlaute enthalten ist nicht möglich, deshalb wird ä zu ae 
    public double breite;
    
    // Methoden
    public double gibFlaechenInhalt() {     // Die parameter brauchst du nicht da ja in der Instanz die Werte schon gespeichert sind; Außerdem dasselbe mit der Methoden benennung und den Umlauten
        return laenge * breite;
    }
    
    public double gibDiagonalenLaenge() {     // Dasselbe wie mit der 'gibFlaechenInhalt' Methode
        return Math.sqrt(laenge * laenge + breite * breite);
    }
    
    public double gibUmfang() {     // Wieder die nicht nötigen paramter
        return laenge * 2 + breite * 2;
    }
    
    public boolean istQuadrat() {
        /* Hier ist leider einiges falsch
         *   1. Wieder die nicht benötigten Parameter
         *   2. Ich weiß nicht wieso du einen boolean 'quadrat' als Paramter übergeben wolltest und diesem dann das ergebnis zugewiesen hast
         *   3. Das Attribut 'quadrat' wird nicht verwendet obwohl es definiert wurde
         *
         * Es wäre gut wenn du mir in den Kommentaren 2. und 3. erklären könntest warum du das gemacht hast damit ich dir wenn nötig dies erklären kann
        */
        
        return laenge == breite;
    }
    
    public RechteckHelfer(double laenge, double breite) {
        this.laenge = laenge;
        this.breite = breite;
    }
}

Und der Code um all das dann auszugeben wäre:

RechteckHelfer a = new RechteckHelfer(7, 9);
        
System.out.println(a.gibFlaechenInhalt());
System.out.println(a.gibDiagonalenLaenge());
System.out.println(a.gibUmfang());
System.out.println(a.istQuadrat());

Falls du noch weitere Fragen dazu hast kannst dich gerne in den Kommentaren oder per Pn melden.

lg Suiram1

Woher ich das weiß:Hobby – Ich programmiere seit 3 Jahren mit C#