# Methode verschiebeFlaeche(Flaeche fl, double xVerschiebung, double yVerschiebung)



## b4ckout (7. Okt 2016)

Hallo,
Meine Aufgabe lautet:  Schreiben Sie eine Klassenmethode verschiebeFlaeche, die eine Fläche verschiebt, indem auf die Koordinaten aller Eckpunkte in x- und in y-Richtung jeweils ein konstanter Wert addiert wird. Die Fläche und die beiden Werte für die Verschiebung in x- und in y-Richtung sollen der Methode dabei als Parameter übergeben werden. Diese Methode hat keinen Rückgabewert. 
Ich habe folgende Klassen vorgegeben;

```
public class Punkt {
    double x,y;
}
```


```
public class Flaeche {
    int anzahlEcken;
    Punkt[] ecken;
}
```


```
public class Figur {
    int anzahlFlaechen;
    Flaeche[] flaechen;
}
```
Mein Problem ist jetzt, dass ich keine Ahnung habe, wie ich auf die x- bzw. y- Werte der übergebenen Fläche zugreifen kann.


----------



## Salo (7. Okt 2016)

du machst ein 2d array, und trägst dort alle x- und y- werte ein.
Am besten mit ner Schleife und ner if anweisung.

Ich hoffe ich habe deine frage richtig verstanden.


----------



## b4ckout (7. Okt 2016)

Meinst du so :

```
public static void verschiebeFlaeche (Flaeche fl, double x, double y){
        Punkt[][] XYWerte = new Punkt[fl.anzahlEcken][fl.anzahlEcken];
        for(int i = 0; i<fl.anzahlEcken; i++){
            XYWerte[i][i] = fl.ecken[i];
        }
```
?
Nochmal zu meinem Problem. Um die Fläche zu verschieben muss ich doch die x- und y-Werte der übergebenen Fläche mit den neuen x- und y-Werten addieren.
Allerdings weiß ich nicht wie.


----------



## InfectedBytes (8. Okt 2016)

als kleiner Denkanstoß:

```
ecken[i].x += x;
```


----------



## b4ckout (8. Okt 2016)

InfectedBytes hat gesagt.:


> als kleiner Denkanstoß:
> 
> ```
> ecken[i].x += x;
> ```



Vielen Dank habs jetzt.


----------



## Salo (8. Okt 2016)

Ach so meintest dus. Ich dachte du wolltest die Punkte innerhalb der Fläche herausbekommen.


----------

