Dreiecksfläche berechnen

Yoshi86

Mitglied
Guten Abend allerseits,

ich habe eine kleine Frage zu meienr Aufgabe. Ich soll eine Klasse Dreieck mit einigen Methoden schreiben. Bin noch nicht ganz fertig. Habe aber schonmal kompilieren lassen um zu schauen, ob alles funktioniert was ich bis jetzt implementiert habe...

Meine Problem ist an der Stelle von der main Methode. In der Methode flaeche() der Klasse Dreieck lasse ich die Fläche berechnen (Die Formel ist leider vorgegeben). In der main Methode möchte ich dann einfach das Ergebnis ausgeben von der Berechnung in flaeche(). Hab da meinen Fehler irgendwie nicht gefunden. Habe ich da Fehler bei der Parameterübergabe? Oder habe ich Fehler bei den Referenzen? Wäre sehr dankbar für einen kleinen Tipp :).


Java:
public class Dreieck{
    double x1, x2, x3, y1, y2, y3;
    //a
    double flaeche(){
        return Math.abs((1/2)*((x1*(y2-y3))+(x2*(y3-y1))+(x3*(y1-y2))));
    }
    
    //b
    double minimalX(){
        return Math.min(x1, x2);
    }
    
    double minimalY(){
        return Math.min(y1, y2);
    }
    
    double maximalX(){
        return Math.max(x1, x2);
    }
    
    double maximalY(){
        return Math.max(y1,y2);
    }
    
    void verschiebe(double dx, double dy){
        x1 = x1 + dx;
        x2 = x2 + dx;
        x3 = x3 + dx;
        y1 = y1 + dy;
        y2 = y2 + dy;
        y3 = y3 + dy;
    }
    
    //c
    
    
    //d
    public static void main(String[] args){
        
        Dreieck d = new Dreieck();
        
        System.out.print("Geben Sie die X-Koordinate des 1. Punktes ein: ");
        d.x1 = Double.parseDouble(System.console().readLine());
        System.out.print("Geben Sie die Y-Koordinate des 1. Punktes ein: ");
        d.y1 = Double.parseDouble(System.console().readLine());
        System.out.print("Geben Sie die X-Koordinate des 2. Punktes ein: ");
        d.x2 = Double.parseDouble(System.console().readLine());
        System.out.print("Geben Sie die Y-Koordinate des 2. Punktes ein: ");
        d.y2 = Double.parseDouble(System.console().readLine());
        System.out.print("Geben Sie die X-Koordinate des 3. Punktes ein: ");
        d.x3 = Double.parseDouble(System.console().readLine());
        System.out.print("Geben Sie die Y-Koordinate des 3. Punktes ein: ");
        d.y3 = Double.parseDouble(System.console().readLine());
        
        System.out.println(" Die Fläche Beträgt: " + d.flaeche());
            
        
    }


}
 

Yoshi86

Mitglied
Aber noch ne kleine Frage... Ich habe ja in den Methoden minimal..() / maximal..() den Minimum bzw Maximum Wert dreier Variablen berechnen. Hatte es mit Math.min bzw Math.max versucht. Das geht allerdings nicht. In der API hab ich gesehen, dass man Math.min/max nur für zwei Variablen benutzen kann. Ich habe mir deshalb überlegt an der stelle eine for-schleife einzubauen... Wäre das so richtig? oder gibts eine einfachere Lösung?
 

Neue Themen


Oben