UML.Vererbung_und_Aggregation/Gerade.java

57 lines
1.1 KiB
Java

/**
* Beschreiben Sie hier die Klasse Gerade.
*
* @author (Ihr Name)
* @version (eine Versionsnummer oder ein Datum)
*/
public class Gerade
{
// Attribute
double m;
double c;
// Methoden
/**
* Konstruktor, erstellt eine Gerade direkt aus der
* Steigung m und dem y-Achsenabschnitt c
*/
public Gerade(double _m, double _c) {
m = _m;
c = _c;
}
/**
* Konstruktor, erzeugt die Gerade aus zwei Punkten,
* berechnet Steigung und y-Achsenabschnitt
*/
public Gerade(Punkt a, Punkt b) {
m = (b.y - a.y) / (b.x - a.x);
c = (a.y) - (m * a.x);
}
/**
* Methode lässt die Gerade mit einer anderen schneiden
* und gibt den Schnittpunkt zurück
*/
public Punkt schneide(Gerade g) {
double x = (g.c - c)/(m - g.m);
double y = m * x + c;
return new Punkt(x, y);
}
/**
* Erzeugt einen String der Form y=m*x+c und
* gibt diesen zurück
*/
public String toString() {
return "y=" + m + "*x+" + c;
}
}