Objekt übergeben und weiterverwenden?

  • Themenstarter Themenstarter das-mo
  • Beginndatum Beginndatum
D

das-mo

Gast
Hi,
Also ich habe ein kleines Problem wo ich nicht weiterkomme, egal auf welchem Weg ich es versuche.
Also das Programm dient zum arbeiten mit Linearen Funktionen. Ich habe die Hauptklasse, die Klasse Punkt und die Klasse lineareFunk. Bei der Berechnung eines Schnittpunktes in lineareFunk wird ein Objekt von Punkt mit return zurückgegeben, doch ich weiß einfach nicht wie ich dann in der Hauptklasse damit weiterarbeiten kann. wenn ich direkt eine Methode von Punkt hinterschreibe krieg ich eine Fehlermeldung, wenn ich probiere diesen übergebenen Punkt erst in einem neuen Punkt abzuspeichern krieg ich auch eine Fehlermeldung.

Hier ein Beispiel des Problems, wobei .getSchnitt ein Objekt des Typs Punkt zurückgibt und ich auch einen Konstrucktor in Punkt für Punkt geschrieben habe, da clone nicht funktionierte.
Java:
Punkt S = new Punkt(lf[nummer].getSchnitt(lf[nummer2]));[Java]

das-mo
 
Fehlermeldung: Symbol kann nicht aufgelöst werden; Konstruktor Punkt (java.lang.Object)in Klasse linearefunk.Punkt in Zeile 60 (60:19)


Methode in lineareFunktion
[Java] public Object getSchnitt (LineareFunktion lf1)
{
double x = (b - lf1.getAbschnitt()) / (lf1.getSteigung() - m);
double y = m*x+b;
Punkt S = new Punkt ("S", x, y);
return S;
}
[/Java]
 
is doch klar, deine Methode gibt ein Object zurück, so einen Konstruktor gibts nicht, lass die methode einen Punkt zurückgeben, dann sollte es funken

du könntest außerdem die klasse Point oder Point2D.Double verwenden, da musst du keine eigene Klasse Punkt schreiben

lg
 
Da hab ich auch schon drüber nachgedacht, nur dann weiß ich trotzdem nicht was ich falcsh gemacht hab und werd auch nicht schlauer daraus.
 
[Java]
package linearefunk;

public class Punkt {

private String name;
private double x;
private double y;

Punkt () {}
Punkt(double xw, double yw)
{
x = xw;
y = yw;
}
Punkt(String n, double xw, double yw)
{
name = n;
x = xw;
y = yw;
}
Punkt(Punkt Pu)
{
name = Pu.getName();
x = Pu.getX();
y = Pu.getY();
}

public void setName (String n)
{
name = n;
}

public String getName ()
{
return name;
}

public void setX (double xw)
{
x = xw;
}

public void setY (double yw)
{
y = yw;
}

public double getX ()
{
return x;
}

public double getY ()
{
return y;
}
}
[/Java]
 
Du hast doch die Klasse Punkt? Davon bräuchte man mal den Code.

Und bei
Code:
public Object getSchnitt (LineareFunktion lf1)
gibst du Object zurück, obwohl doch immer Punkt zurückgegeben wird. Wenn du mit dem Rückgabewert dann weiterarbeiten willst, musst du immer erst nach Punkt casten:
Java:
Punkt schnittPunkt = (Punkt) lf1.getSchnitt(lf2);

Edit:
Setz mal vor die ganzen Konstruktoren ein
Code:
public
.
 

Zurück
Oben