Verstehe den Quellcode nicht ganz

Status
Nicht offen für weitere Antworten.

master099

Mitglied
Hallo,

ich habe grade mit Java angefangen und verstehe diesen Quellcode nicht so richtig:

Code:
public class Pascal {
  public Pascal() {
  }

  public static void main(String[] args) {

    int dreieck[] [] = new int [30] [];
    for (int i = 0; i < dreieck.length; i++){

      dreieck[i] = new int [i + 1];
      for(int j = 0; j <= i; j++){

        if ((j==0) || (j==i))
          dreieck [i] [j] = 1;
        else
          dreieck [i] [j] = dreieck [i-1] [j-1] + dreieck [i-1] [j];
        if ((dreieck [i][j] % 2) == 0){

          System.out.print("+" + " " /*+ dreieck [i] [j] + "" + " "*/);
        }
        else

          System.out.print(/*dreieck [i] [j] +*/"-" + " ");

      }
      System.out.println();

    }
  }

}

Es wird das Pascalsche Dreieck ausgegeben. Ungerade und gerade Werte werden unterschiedlich ausgeben.
Aber wass passiert genau in der Schleife? Kann mir das vll. jemand erklären bzw. den Quellcode kommentieren?

Danke
 
ich habe es jetzt halbwegs verstanden

kann mir bitte noch jemand sagen, was in den beiden Zeilen passiert:

Code:
dreieck[i] = new int [i + 1];


Code:
dreieck [i] [j] = dreieck [i-1] [j-1] + dreieck [i-1] [j];
 
Zeile 11: dreieck[0] bekommt den Wert {0}
Zeile 15: dreieck[0] bekommt den Wert {1}
Zeile 24: Ausgabe "- "
Zeile 27: Ausgabe wird gedruckt

Zeile 11: dreieck[1] bekommt den Wert {0,0}
Zeile 15: dreieck[1] bekommt den Wert {1,0}
Zeile 24: Ausgabe "- "
Zeile 15: dreieck[1] bekommt den Wert {1,1}
Zeile 24: Ausgabe "- "
Zeile 27: Ausgabe wird gedruckt

Zeile 11: dreieck[2] bekommt den Wert {0,0,0}
Zeile 15: dreieck[2] bekommt den Wert {1,0,0}
Zeile 24: Ausgabe "- "
Zeile 17: dreieck[2] bekommt den Wert {1,2,0}
Zeile 20: Ausgabe "+ "
Zeile 15: dreieck[2] bekommt den Wert {1,2,1}
Zeile 24: Ausgabe "- "
Zeile 27: Ausgabe wird gedruckt

Zeile 11: dreieck[3] bekommt den Wert {0,0,0,0}
Zeile 15: dreieck[3] bekommt den Wert {1,0,0,0}
Zeile 24: Ausgabe "- "
Zeile 17: dreieck[3] bekommt den Wert {1,3,0,0}
Zeile 24: Ausgabe "- "
Zeile 17: dreieck[3] bekommt den Wert {1,3,3,0}
Zeile 24: Ausgabe "- "
Zeile 15: dreieck[3] bekommt den Wert {1,3,3,1}
Zeile 24: Ausgabe "- "
Zeile 27: Ausgabe wird gedruckt

Zeile 11: dreieck[4] bekommt den Wert {0,0,0,0,0}
...
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben