# Verschachtelte For-Schleife



## Cenkonline (2. Nov 2010)

Hallo ich komm nicht weiter, bin schon am verzweifeln.
Ich möchte eine 16x16 Matrix mit kleinen Kreisen programmieren. 
Also: 
oooooooooooooooo
oooooooooooooooo
oooooooooooooooo
oooooooooooooooo
oooooooooooooooo
oooooooooooooooo
.
.
.
oooooooooooooooo

So ich hab jetzt zwei verschiedene For-Schleifen erstellt.


```
int x1,y1;
		x1=10;
		y1=10;
		
		
		for(int i=0; i<16; i++)
		{
			x1=x1+40;
			
		
		Point p1 = new Point(bufferGraphics,x1,y1);
		p1.setVisible();
		}
		
		for(int j=0; j<16; j++)
		{
			y1=y1+40;
			
		Point p1 = new Point(bufferGraphics,x1,y1);
		p1.setVisible();
		}
```
Bekomme ausgegeben:
oooooooooooooooo
                        o
                        o
                        o
                        o
                        .
                        .
                        .

Brauche dringend Hilfe. Vielen Dank!


----------



## Tomate_Salat (2. Nov 2010)

Du kennst doch die antwort: verschachteln:

```
int w = 16, h = 16;
		
for(int y=0;y<h;y++) {
	for(int x=0;x<h;x++) {
		System.out.print("o");
	}
	System.out.println();
}
```

btw: bitte die java-tags benutzen in zukunft

mfg

Tomate_Salat


----------



## Michael... (2. Nov 2010)

Zunächst einmal sind Deine Schleifen nicht verschachtelt.

```
for (i=0...) {
    for(j=0...) {
        //hier mach was
    }
}
```


----------



## Cenkonline (2. Nov 2010)

Ich weiß ja dass ich es verschachteln soll.
Aber ich krieg das nicht hin.

Ich hab Object "Point" mit 2 dazugehörigen Klassen. "x-achse" und "y-achse".

Mit diesem Object "Point" möchte ich jetzt eine 16 mal 16 Bild erstellen.

Oben hab ich die beiden schachteln bewusst nicht verschachtelt, weil ich halt nicht weiß wie's geht.
Ich komm mit eurer Hilfe immer noch nicht weiter..sorry


----------



## Michael... (2. Nov 2010)

Eigentlich muss man die beiden Schleifen ja nur verschachteln - und an der richtigen Stelle eine Variable wieder zurücksetzen:

```
int x1, y1;
	x1 = 10;

	for (int i = 0; i < 3; i++) {
		x1 = x1 + 40;
		y1 = 10;
		for (int j = 0; j < 3; j++) {
			y1 = y1 + 40;
			System.out.print("(" + x1 + " | " + y1 + "),");
		}
		System.out.println();
	}
```


----------



## Cenkonline (2. Nov 2010)

```
int x,y;
		x=10;
		y=10;
		for (int i = 0; i < 16; i++) 
		{
			x = x + 40;
			y=10;
			Point p1 = new Point(bufferGraphics, x, y);
	 		p1.setVisible();
			for (int j = 0; j < 16; j++);
			{
				y = y + 40;
				Point p11 = new Point(bufferGraphics, x, y);
		 		p11.setVisible();

			}
			System.out.println();
		}
```

Hier bekomme ich nur eine 16 x 2 Matrix
Also:
oooooooooooooooo
oooooooooooooooo


----------



## Michael... (2. Nov 2010)

Wenn dann so:

```
int x,y;
x=10;
y=10;
for (int i = 0; i < 16; i++) 
{
       x = x + 40;
       y=10;
       for (int j = 0; j < 16; j++);
       {
           y = y + 40;
           Point p11 = new Point(bufferGraphics, x, y);
           p11.setVisible();
       }
       System.out.println();
}
```
Warum dabei nicht die kompletten 16x16 erscheinen - keine Ahnung. An dem Code kann es nicht liegen.
Dazu müsste man den Kontext kennen.


----------

