# Rechteck aus Sternen Zeichnen



## Beechies (24. Okt 2008)

Hallo, habe die Aufgabe bekommen ein Rechteck zu zeichnen.
Dies sollte so aussehen:

*********
*     *      *
*  *     *  *
**         **
**         **
*  *    *   *
*      *     *
*            *
*            *
*********

Also 9 auf 9 sterne
und in dem Rechteck eine Raute.

Ich weiß zwar wie ich ein normales Rechteck zeichne, also das auch innen Sterne enthält, aber nicht, dass es leer ist, bzw so eine Raute enthält.

Ich habe erst so angefangen:


```
public class forSchleife3 {
  
  public static void main (String []args) {
    int i;
    int j;
    
    for (i=0; i<10; i++) {
      for (j=0; j<i; j++) {
        System.out.print("*");
      }
     System.out.println();
    }
  }
}
```
dabei kommt bei mir allerdings ein Dreieck raus.
*
**
***
****
*****
******
*******
********
*********
**********

Wäre nett wenn mir einer helfen könnte.


lg


----------



## Beechies (24. Okt 2008)

leider hat bei mir die formatierung nicht geklappt.

Also es sollte ein rechteck sein (leer innen) und in dem rechteck eine art raute


----------



## Der Müde Joe (24. Okt 2008)

```
for (i=0; i<10; i++) {
      for (j=0; j<10; j++) {
```

EDIT:
oh so..
Also es sollte ein rechteck sein (leer innen) und in dem rechteck eine art raute
ne meins ist ein rechteck innen voll


----------



## Beechies (24. Okt 2008)

ja, ein volles habe ich hingekriegt, ein dreieck, 
fast alle formen schon bloß nix leeres 
aber danke für die schnelle antwort


----------



## Landei (24. Okt 2008)

Mein Gott, es ist voller Sterne!


```
for (int i = 0; i < 9; i++) {
      for (int j = 0; j < 9; j++) {
        if (i % 8 == 0 || j % 8 == 0 || (i + j) % 6 == 5 || (8-i+j) % 6 == 5) {
          System.out.print("*");
        } else {
          System.out.print(" ");
        }
      }
      System.out.println();
    }
```


----------



## beechies (24. Okt 2008)

ja super, dankeschön 
hab noch eine frage.
kannst du mir vllt. erklären was die 4. Zeile genau bedeutet, also das mit dem % zeichen?


----------



## Der Müde Joe (24. Okt 2008)

i % 8 == 0 : horizontal erstel Linie und letzte Linie
j % 8 == 0 : vertikal ....

(i + j) % 6 == 5  das erste Sternchen im Rechteck
(8-i+j) % 6 == 5 das 2 Sternchen im Rechteck

ein wenig wilder:

```
int SIZE = 30;
	    for (int i = 0; i <= SIZE; i++) {
			for (int j = 0; j <= SIZE; j++) {
				if (i % SIZE == 0 || j % SIZE == 0 || (i + j) % 6 == 5
						|| (SIZE - i + j) % 6 == 5) {
					System.out.print("*");
				} else {
					System.out.print(" ");
				}
			}
			System.out.println();
		}
```


----------



## Beechies (24. Okt 2008)

wow, sehr schnelle antwort.
danke ich weiß jetzt bescheid


----------



## OneAndZero (24. Okt 2008)

hört sich nach einer typischen Prog1 Aufgabe ausm Studium an ;-)


----------

