Pascalsche Dreieck ERKLÄRUNG

Status
Nicht offen für weitere Antworten.

The Best

Neues Mitglied
Hallo zusammen,
ich habe an Euch mal eine wichtige Bitte.
Es geht um folgendes, ich versuche mir zur Zeit Java beizubringen und habe von einem Freund den Quelltext zum Pascalschen Dreieck bekommen.

Jedoch verstehe ich diesen Quelltext nicht ganz ;(
Es wäre super wenn ihr mir sagen könntet was in der Zeile passiert. Wäre echt super.

DANKE
Java:
class pascaldreieck
{
	public static void main(String args[])
	{int exponent = 10; int b = 0; int spalte = 0; int maxlaenge =0; int aktl =0, leerv =0, leerh =0, test =0, einr=0;
	 int [][] koef = new int[exponent][];
     String [][] kasten = new String [exponent][];
	 for(int j=0;j<exponent;j++)

//-----Initalizierung Int-Array-----

     {
	  int[] koefx = new int[j+1];
	  koef[j] = koefx;
	 }

//-----Initalizierung String-Array-----

     for(int j=0;j<exponent;j++)
	 {
	  String [] kastenx = new String [j+1];
	  kasten[j] = kastenx;
	 }

//-----BefŸllen Int-Array-----

      for(int zeile=0; zeile<(exponent); zeile++)
     {
      koef[zeile][0] =1;
      kasten[zeile][0] = String.valueOf(koef[zeile][0]);
      koef[zeile][zeile] =1;
      kasten[zeile][zeile] = String.valueOf(koef[zeile][zeile]);
     }

//-----Berechnung des Int-Arrays-----

     for(int zeile=2; zeile<(exponent); zeile++)
     {
     
      for(int a=0; a<(zeile-1); a++)
      {
       spalte++;
       b=a+1;
       koef[zeile][spalte] = koef[(zeile-1)][a]+koef[(zeile-1)][b];
       kasten[zeile][spalte] = String.valueOf(koef[zeile][spalte]);
      }
      spalte=0;
     }

// Leerzeichen anpassen
     maxlaenge = kasten[(exponent-1)][((exponent-1)/2)].length();
     System.out.print(" * " + maxlaenge + " * ");
     System.out.println();
     
for(int zeile=0; zeile<(exponent); zeile++)
     {
      for(int j=0; j<(zeile+1); j++)
      {
       aktl=kasten[zeile][j].length();
       leerv=((maxlaenge-aktl)/2)+((maxlaenge-aktl)%2);
       String leervs = new String ();
       for(int i=0; i<leerv; i++)
       {
        leervs = leervs + " ";
       }
       leerh=((maxlaenge-aktl)/2);
       String leerhs = new String ();
       for(int i=0; i<leerh; i++)
       {
        leerhs = leerhs + " ";
       }
       kasten[zeile][j]= leervs + kasten[zeile][j] + leerhs;
       
      }
     }
for(int zeile=0; zeile<(exponent); zeile++)
    {
     einr=(maxlaenge+2)*exponent;
     einr=(einr%2)+(einr/2);
     einr=einr-((zeile)*(maxlaenge+2)/2);
     String einrs = new String ();
     for(int i=0; i<einr; i++)
       {
        einrs = einrs + " ";
       }
     kasten[zeile][0]= einrs + kasten[zeile][0];
    }

//-----Drucken des Arrays-----

     for(int zeile=0; zeile<(exponent); zeile++)
     {
      for(int j=0; j<(zeile+1); j++)
      {
       System.out.print(kasten[zeile][j] + "  ");
      }
      System.out.println();
     }
	}

}
 
Es geht um folgendes, ich versuche mir zur Zeit Java beizubringen und habe von einem Freund den Quelltext zum Pascalschen Dreieck bekommen.
ehrlich?


Mach dir nichts draus... das Pascalsche Dreieck ist eher was für den Mathe Untericht... fürs Java Lernen... naja... meiner Meinung nach nicht geeignet....
 
Zuletzt bearbeitet:
das pascalsche Dreieck wird gerne verwendet um Studenten oder Schüler zu quälen um die ersten Algorithmen in einer Programmiersprache zu lernen. Dazu ist erst einmal nötig dieses Dreieck bzw. dessen Aufbau und Sinn zu verstehen. Da du aber offenbar noch nicht viel in Java gemacht hast, würde ich dir raten lerne erst einmal die Grundlagen des Programmierens bzw. welche Konstrukte welche Bedeutung in einer Programmiersprache haben und mach dich dann an Algorithmen.

mfg niesel
 
Es wäre super wenn ihr mir sagen könntet was in der Zeile passiert

In welcher Zeile denn? ???:L

Na egal; Ich erkläre dann mal zwei Zeilen beispielhaft:

Java:
class pascaldreieck

Deklaration der Klasse pascaldreieck

und

Java:
	  kasten[j] = kastenx;

Zuweisung der Variablen kastenx an das j-te Element des Arrays kasten.

Brauchst du noch andere Zeilen, die erklärt werden müssen?

😀
 
@Leroy42: Ja genau so meine ich das. Sorry hatte vergessen welche Stelle ich meine. Naja, es geht mir um den kompletten Verstand des Quellcodes. Also was in jeder Zeile passiert. 😳
Finde keinen der mir das erklären kann...
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben