Testaufgabe in JAVA HILFE :(!

Liebe Profis ;)

Mein Problem: Ich hab morgen java-test und hab mir mal ein Test von früher angesehn:

Die Angabe:


Zu erstellen sind die Dateien Punkt.java , Dreieck.java, Viereck.java und Geometry.java

Geometry ist das Interface und definiert die Methode

public double getUmfang()

Die Klassen Dreieck und Viereck sollen dieses INterface implementieren und die jeweils richtige Umfangsberechnung durchführen. Die Klasse Punkt soll eine Methode

public double distanz(Punkt p)
besitzen, mit der der Abstand zu einem anderen Punkten berechnet werden kann. Die Distanz d zwischen zwei Punkten p1 = (x1,y1) und p2 = (x2,y2) ist gegeben druch:

d = wurzel aus( (x1-x2)? + (y1 - y2)? )

Die Klassen Dreieck und Viereck sollen ihre Eckpunkte mit Hilfe der Punkt KLasse speichern, ein Dreieck hat somit 3 Punkte, ein Viereck 4 Punkte.

Für die Koordinaten der Punkte ist der Datentyp double zu verwenden.



Wäre unendlich froh, wenn mir das jemand programmieren könnte (man hatte für dieses BSP 25 Min Zeit!)

najo ich hab mit der Viereck.java schon herumprobiert, aber wie kann ich mit der getUmfang methode den Umfang holen?

Code:
public class Viereck implements Geometry {
	
	private double a;
	private double b;
	
	public double umfang(int a, int b) {
		this.a = a;
		this.b = b;
		double umfang = 0;
		
		umfang = 2*a+2*b;
		
		return umfang;
	}
	public double getUmfang() {
		
		
		return umfang();
	}
}
Hier meien ganze Viereck.java

MFG+VIELEN DANK!
 
ist womoeglich zu spaet...aber hier der code (in max 2 min geschrieben)

Code:
public class Viereck implements Geometry {
	
	private double a;
	private double b;
	
	public Viereck(int a, int b) {
		setUmfang(a,b);
	}

	public void setUmfang(int a, int b) {
		this.a = a;
		this.b = b;

	}
	public double getUmfang() {
		
		
		return 2*a+2*b;
	}
}


wuensch dir auf jedenfall viel glueck mit dem test, auch wenn ich glaube, dass dir das nicht viel bringt.
 
kein Problem, zum Test ist eh was ganz anderes gekommen :p ... aber das bsp versteh ich jetzt öÖ ... wahrscheinlich wars die Nervosität ... hrhr :)

trotzdem THX @ soox
 
weiß nicht, ob du/ihr die aufgabenstellung nicht falsch verstanden habt?! meiner auffassung nach sollen die Dreieck bzw.Viereck-Klassen durch die punkte definiert sein (deshalb wohl die punkt-klasse?)
wenn das so stimmt, wuerde ich dem viereck 4 ecken geben und dann im konstruktor 4 punkte verlangen um die zuzuweisen.. und bei der umfangsberechnung einfach die distanzen zwischen den punkten aufaddieren:

Code:
public class Viereck implements Geometry {
	
	private Punkt ecken[4];

	public Viereck(Punkt p1, Punkt p2, Punkt p3, Punkt p4) {
		ecken[0]=p1;
		ecken[1]=p2;
		ecken[2]=p3;
		ecken[3]=p4;
	}

	public double getUmfang() {
		double umfang=0;
		for(int i=0;i<4;i++)
			umfang+=ecken[i].distanz(ecken[(i+1)%4]);
/*hier wird immer der abstand zwischen punkt i und punkt i+1 addiert, das modulo(%) deswegen, damit fuer den letzten punkt (bei i=3) die distanz von ecke[3] zu ecke[0] berechnet wird (3+1)%4=0 ;)  */
	}
}

von einer vorgeschriebenen funktion setUmfang() is ja in der aufgabenstellung nix... oder hab ich hier was total falsch verstanden? :)
 
also das Prog läuft so ab, dass zuerst in der Main Punkte eingelesen werden.

zB

Punkt punkt1 = new Punkt(x,y),Punkt punkt2 = new Punkt(x,y), Punkt punkt3 = new Punkt(x,y)

if (bla.equals("Dreieck") soll er 3 Punkte einlesen...usw

Es wird halt auf den Konstruktor in der Punkt.java zugegriffen ...

und dann in der Punkt.java der Umfang berechnet:

zB: public double getUmfang(Punkt p)
....
int distanz = Math.sqrt(Math.sqr(x+y) - Math.sqr(p.x + p.y))
return distanz;

Die Distanz ist dann zB die Länge bei einem Dreieck von a zu b, oder a zu c ...

mfg
 
Zurück
Oben