Geometrie

M

Marcelo2

Gast
Meine Aufgabe ist es eine Klasse Punkt zu erstellen. Dort ist ein Punkt im zweidimensionalen Raum. Er hat eine x und eine y Koordinate, als gleitkommazahl doppelter genauigkeit. die klasse soll zwei konstruktoren haben. der eine erwartet die beiden koordinaten, der andere übernimmt die koordinaten von einem als parameter übergebenen punkt als exemplar der selben klasse.

soweit so gut. nun frag ich mich wie der zweite konstuktor sein muss? er darf ja nicht wie der erste zahlenwerte als paramter bekommen. aber ich brauche doch zahlenwerte. und wie soll ich auf den ersten konstruktor zugreifen?.

bisher sieht mein ansatz so aus:

Java:
class Point {
	public double x;
	public double y;
	public double z;
	public double s;
	
	Point (double a, double b){
		x = a;
		y = b;
	}
	double Rückgabe() {
		return x;
	}
	double Rückgabe2(){
	return y;
	}

	
	Point (){ 
		z = x;
		s = y;
	}
	double Rückgabe3(){
		return x;
	}
	double Rückgabe4(){
			return y;
		}}
 
M

Marcelo2

Gast
Dazu kommt noch, dass ich nicht weis ob ich den Punkt mit 2 Variablen darstellen soll, oder als Vektor. Mit einer Ausgabeklasse habe ich bisher das erreicht:

Java:
public class Geometry {

public static void main(String[] args){
	double a = 6.0;
	double b = 7.0;
	
	Point p1 = new Point(a, b);
	Point p2 = new Point();
	System.out.println("p1" + "(" + p1.Rückgabe()+", " + p1.Rückgabe2() + ")");
	System.out.println("p2" + "(" + p2.Rückgabe3()+", " + p2.Rückgabe4() + ")");
}}
class Point {
	public double x;
	public double y;
	public double z;
	public double s;
	
	Point (double a, double b){
		x = a;
		y = b;
	}
	double Rückgabe() {
		return x;
	}
	double Rückgabe2(){
	return y;
	}

	
	Point (){ 
		z = x;
		s = y;
	}
	double Rückgabe3(){
		return x;
	}
	double Rückgabe4(){
			return y;
		}}
 

Final_Striker

Top Contributor
aber ich brauche doch zahlenwerte.

Der Konstruktor bekommt doch einen Punkt übergeben, daraus kannst du dann die x- und y-Werte auslesen.

Ein Punkt braucht nur 2 Koordinaten, wieso hat deiner 4?
Und was soll dieser Quatsch mit RückgabeX, woher soll jemand denn wissen was Rückgabe2 zurück gibt???
Wieso schreibst du nicht gleich einfach getX, getY.
 
Zuletzt bearbeitet:
M

Marcelo2

Gast
sry wenn das alles nicht so formal korrekt ist. habe erst mein studium begonnen und kenne noch nicht alles in JAVA
 
M

Marcelo2

Gast
Ja mir
Java:
    Point (Point p){ 
        x = ...
        y = ...
    }
dacht ich mir schon. allerdings weis ich dann nicht wie ich oben in der klasse geometry den konstruktor aufrufe. was muss ich hier dann schrieben?
Java:
 Point p2 = new Point();

und unten muss ich den Punkt so defiieren?
Java:
 Point p2 = new Point();
 

Final_Striker

Top Contributor
Ist ja nicht schlimm, jeder hat mal kleine angefangen. ;-)

Du solltest aber in Zukunft vermeiden so was zu schreiben. Wenn du X zurück gibst, dann schreibe doch auch einfach RückgabeX hin. Denn wenn du so was wie Rückgabe2 schreibst, wirst du in spätesten 2 Wochen auch nicht mehr wissen, was diese Methode zurück gibt.
 
M

Marcelo2

Gast
SRY wrong code
Java:
public Point p;
so meinte ich das mit dem definieren
 
M

Marcelo2

Gast
So nun hats geklappt. vielen dank. könntest bitte nochmal sagen ob da irgendwas falsch ist?


Java:
public class Geometry {

public static void main(String[] args){
	double a = 6.0;
	double b = 7.0;
	
	Point p1 = new Point(a, b);
	Point p2 = new Point(p1);
	System.out.println("p1" + "(" + p1.RückgabeX()+", " + p1.RückgabeY() + ")");
	System.out.println("p2" + "(" + p2.Rückgabe3()+", " + p2.Rückgabe4() + ")");
}}
class Point {
	public double x;
	public double y;
	public Point p;
	
	Point (double a, double b){
		x = a;
		y = b;
	}
	double RückgabeX() {
		return x;
	}
	double RückgabeY(){
	return y;
	}

	
	Point (Point p){ 
		x = p.x;
		y = p.y;
	}
	double Rückgabe3(){
		return x;
	}
	double Rückgabe4(){
			return y;
		}}
 

Final_Striker

Top Contributor
Geht doch. :)

Diese Zeilen kannst du dir aber sparen.
Java:
	public Point p;

	double Rückgabe3(){
		return x;
	}
	double Rückgabe4(){
			return y;
		}

Point p verwendest du nicht und für die Rückgabe hast du doch schon RückgabeX und RückgabeY
 
M

Marcelo2

Gast
Nun gehts weiter^^ Ich muss den 0 Punkt (0,0) als CENTER vom Typ Point,
darstellen und der automatisch initialisiert wird.
Brauch ich hierfür einen neuen Konstruktor oder kann ich das in generell in der Klasse Point festlegen?
 
M

Marcelo2

Gast
Das Problem ist, dann tritt das in Konflikt mit dem Rest, da x und y ja shcon belegt sind.
 
M

Marcelo2

Gast
Also ich muss doch laut der Aufgabe
Java:
Point CENTER;
erstellen oder? ist ja ein Objekt vom typ point oder versteh ich das falsch?
 

Neue Themen


Oben