Hallo Leute,
ich blicke momentan nicht ganz in diesen Thema durch, deshalb bitte ich Euch um Rat.
Es geht hierbei um 2 Klassen. Eine, die "normale" Klasse mit dem "Bauplan" und die zweite als Testklasse
Meine Frage bezieht sich hierbei auf die Methoden in der eigentlichen Klasse.
In der Testklasse, werden jeweils die beiden x u. y Werte, welche in der Testklasse zugewiesen worden übergeben. Desweiteren mit "RWKoord rwkb = rwka.berechne(200, 50);" die beiden s und t Parameter an die "berechne" Methode übergeben. In der Methode "berechne" wird ein Objekt erzeugt -> "erg". Wird das Ergebnis dieser in der Referenz "erg" erzeugt und weitergegeben als Parameter an die nähste?
Die zweite Frage richtet sich an "double s = rwka.berechneStrecke(rwkb);" aus der Testklasse. Hier wird eine lokale Variable "s" erstellt und die Koordinaten aus rwka an die Methode "berechneStrecke" als Parameter übergeben?
Tut mir leid, blicke da momentan nicht ganz durch. :-/
ich blicke momentan nicht ganz in diesen Thema durch, deshalb bitte ich Euch um Rat.
Es geht hierbei um 2 Klassen. Eine, die "normale" Klasse mit dem "Bauplan" und die zweite als Testklasse
Java:
public class RWKoord {
// Attribute
double x;
double y;
// Toleranz
public static double eps = 0.001;
// Methoden
/*
// Berechnung eines neuen Standpunktes aus Strecke und Winkel
public static RWKoord berechne(double x, double y, double s, double t) {
RWKoord erg = new RWKoord();
t = t * Math.PI/200.;
erg.x = x + s * Math.cos(t);
erg.y = y + s * Math.sin(t);
return erg;
}
*/
// Berechnung mit der Angabe des Ausgangspunktes this
public RWKoord berechne(double s, double t) {
RWKoord erg = new RWKoord();
t = t * Math.PI/200.;
erg.x = this.x + s * Math.cos(t);
erg.y = this.y + s * Math.sin(t);
return erg;
}
// Berechnung des Abstands zwischen zwei Koordinaten
public double berechneStrecke(RWKoord b) {
double dx = b.x - this.x;
double dy = b.y - this.y;
double s = Math.sqrt(dy*dy+dx*dx);
return s;
}
// Berechnung des Richtungswinkels zwischen zwei Koordinaten
public double berechneRichtung(RWKoord b) {
double dx = b.x - this.x;
double dy = b.y - this.y;
double t = Math.atan2(dy, dx);
t = t * 200/Math.PI;
if(t<0)
t = t+400;
return t;
}
// Vergleich von zwei Objekten
public boolean equals(RWKoord b) {
if(this.x == b.x && this.y == b.y)
return true;
else
return false;
}
// Vergleich von zwei Objekten
public boolean equals2(RWKoord b) {
double s = this.berechneStrecke(b);
if(s<eps)
return true;
else
return false;
}
// Ausgabe der Werte x und y als String
public String toString() {
return (x + ","+ y);
}
}
Java:
public class RWKoordTest {
/**
* @param args
*/
public static void main(String[] args) {
RWKoord rwka = new RWKoord();
rwka.x = 50;
rwka.y = 30;
System.out.println("x-Koordinate: " + rwka.x + "\ny-Koordinaten: "+ rwka.y);
RWKoord rwkb = rwka.berechne(200, 50);
System.out.println(rwkb.x + " , "+ rwkb.y);
double s = rwka.berechneStrecke(rwkb);
System.out.println(s);
double t = rwka.berechneRichtung(rwkb);
System.out.println("t = "+t);
double ta = rwka.berechneRichtung(rwka);
System.out.println("t = "+ta);
RWKoord rwkc = new RWKoord();
// Toleranz vermessungstechnisch
// RWKoord.eps = 0.01;
// Toleranz mechanisch
RWKoord.eps = 0.00001;
rwkc.x = 100.001;
rwkc.y = 100;
// System.out.println(rwka.equals2(rwkc));
System.out.println(rwka);
System.out.println(rwkb);
System.out.println(rwkc);
}
}
Meine Frage bezieht sich hierbei auf die Methoden in der eigentlichen Klasse.
In der Testklasse, werden jeweils die beiden x u. y Werte, welche in der Testklasse zugewiesen worden übergeben. Desweiteren mit "RWKoord rwkb = rwka.berechne(200, 50);" die beiden s und t Parameter an die "berechne" Methode übergeben. In der Methode "berechne" wird ein Objekt erzeugt -> "erg". Wird das Ergebnis dieser in der Referenz "erg" erzeugt und weitergegeben als Parameter an die nähste?
Die zweite Frage richtet sich an "double s = rwka.berechneStrecke(rwkb);" aus der Testklasse. Hier wird eine lokale Variable "s" erstellt und die Koordinaten aus rwka an die Methode "berechneStrecke" als Parameter übergeben?
Tut mir leid, blicke da momentan nicht ganz durch. :-/