Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
also ich habe zwei klassen Punkt und Rechteck. Ein Rechteck besteht aus mehreren punkten.
Jetzt will ich eine Methode schreiben mit der ich mir die Koordinaten der punkte ausgeben kann.
Ist dies in meinem bsp. überhaupt möglich ?
Java:
public class punkt {
public double x,y;
public punkt(double px, double py){
this.x = px;
this.y = py;
}
public String toString(){
String ergebnis="x = " + x + "\ny = " + y;
return ergebnis;
}
public static void main(String[] args) {
punkt p1 = new punkt(1.5, 2.0);
System.out.println(p1);
}
}
Java:
public class rechteck{
public int i,j;
public rechteck(double b, double l) {
int anz = (int)b * (int)l;
punkt[] p = new punkt[anz];
this.i = (int)b;
this.j = (int)l;
int zahl = 0;
double x = 0.0;
double y = 0.0;
for( i=0; i<l; i++) {
x = 0.0;
for( j=0; j<b; j++) {
p[zahl] = new punkt(x, y);
x += 0.5;
zahl ++;
}
y += 0.5;
}
//for(int i = 0; i<p.length; i++)
// System.out.println("punkt " + ++i + " \n" + p[--i]);
}
public static void main(String[] args) {
rechteck r = new rechteck(4, 2);
}
}
also ich habe zwei klassen Punkt und Rechteck. Ein Rechteck besteht aus mehreren punkten.
Jetzt will ich eine Methode schreiben mit der ich mir die Koordinaten der punkte ausgeben kann.
Ist dies in meinem bsp. überhaupt möglich ?
Natürlich ist das möglich.
Von der Klasse Punkt hast du die "toString" Methode schon überschrieben. Und in der Klasse Rechteck hast du die Ausgabe auskommentiert.
Funktioniert dieser Code nicht so wie du es dir wünscht? Wo liegt das Problem
Hinweis: Klassennamen schreibt man in UpperCamelCase (mit Großbuchstaben beginnen)
Dein "Punkt Array" ist nur im Konstruktor der Klasse Rechteck vorhanden. Sobald der Konstruktor durchgearbeitet ist wird das Array auch wieder aus dem Speicher gelöscht.
Du solltest das Array als Klassenattribut anlegen
Der Tipp von Joose mit dem Konstruktor hat geholfen. Habe jetzt anstatt ein Array als Klassenattribut eine ArrayList verwendet und jetzt noch eine Methode geschrieben die die Koordinaten der Punkte ausgibt.