OOP Polygon

Shinoda

Neues Mitglied
So liebe Leute, ich wende mich nun an euch, da ich vollends verzweifelt bin.

Aufgabe 4.1
Point erstellen, der einen Punkt mit x- und y-Koordinaten repräsentiert.

1. Legen Sie dazu eine neue Klasse Point mit zwei privaten ganzzahligen Attributen x und y an.
2. Schreiben Sie einen Konstruktor der Klasse, der die Parameter (int x, int y) ubergeben bekommt und
setzen Sie damit Ihre Attribute.
3. Erweitern Sie Ihre Klasse um die entsprechenden getter- und setter-Methoden f ̈r beide Attribute.
Java:
class Point {

	private int x;
	private int y;
	
	public Point (int x_ , int y_){
		this.setX(x_);
		this.setY(y_);
	}
	public int getY() {
		return y;
	}
	public void setY(int y) {
		this.y = y;
	}
	public int getX() {
		return x;
	}
	public void setX(int x) {
		this.x = x;
	}
}
In dieser Klasse wollen wir einen Linienzug (Polygonzug) modellieren, der durch seine Aufhängepunkte vom
Typ Point festgelegt ist. Die einzelnen Punkte speichern wir in einem eindimensionalen Array.
1. Erstellen Sie eine Klasse Polygon mit einer main-Methode.
2. Legen Sie sich in dieser Klasse ein privates Attribut p vom Typ Point[] an.
3. Schreiben Sie einen Konstruktor, der ein eindimensionales Array vom Typ Point[] ubergeben bekommt.
Sollte null ubergeben worden sein, so machen Sie eine Fehlerausgabe uber stderr, andernfalls uberprü̈fen
Sie die einzelnen Einträge des Feldes. Sollte ein Feldeintrag null sein, ersetzen Sie ihn durch einen neuen
Punkt mit den Koordinaten (0,0). Speichern Sie anschließend das ubergebene Array in Ihrem Attribut p.
4. Implementieren Sie eine Methode public int maximum(String var) zur Berechnung der maximalen x-
bzw. y-Koordinate der Punkte in Ihrem Polygon. Uberpr ̈fen Sie den Parameter var und bestimmen Sie
das Maximum aus den x-Koordinaten, falls der ubergebene String “x“ ist, bzw. aus den y-Koordinaten,
falls es “y“ ist. Sollte das Attribut p nicht initialisiert sein (also null), oder keine Punkte enthalten, bzw.
der ubergebene String var weder “x“ noch “y“ sein, so geben Sie den Wert Integer.MIN VALUE zurück,
ansonsten das entsprechende Maximum.
Ab der 3 versteh ich eigentlich nur Bahnhof, da ich auch nicht weiß, was ich mit einem Array vom Typ Point anfangen soll, welches dazu keine Größenangabe besitzt.
Java:
	//private Point [] p;
	//private Point p []= new Point [100];
	public Polygon(int x_, int y_, Point [] p) {
		super(x_, y_);
		for (int i=0; i<p.length; i++){
			if(p[i] == null ){
				System.err.println("Fehler");
				setX(0);
				setY(0);
				
			}
		}
		

	}
	public static void main(String[] args) {
 
Zuletzt bearbeitet:
M

Marcinek

Gast
Die error Ausgabe soll kommen, wenn p Null ist.

Ansonsten kannst du nun in der Main ein Array erzeugen mit Punkten und es an das Polygon übergeben.

Die Angabe von x und y im Polygon ist überflüssig.

Siehe in Java Buch: Arrays.
 

Shinoda

Neues Mitglied
Deine Antwort hat mir einen Denkanstoß gegeben und ich bin mittlerweile mit der gesamten Übungsaufgabe fertig.

Ich hab nur noch ein kleines Problem und zwar:

Ich habe zwei Werte in einer return methode und speichere die in einem 2 dim Array. WIe kann ich die beiden Werte anschließend in der Main ausgeben lassen? (ohne return)
 
M

Marcinek

Gast
Ohne Code von dir dazu zu sehen konnte es viele Möglichkeiten geben.

Member Variablen
Statische
Eine neue Methode.
 

Neue Themen


Oben