Pascal'sches Dreieck

DerDecane

Aktives Mitglied
Hey Leute, habe eine Aufgabe in der ich in Java das Pascal'sche Dreieck implementieren soll. Mein Code sieht so aus:
Java:
import java.util.Scanner;

class Pascal{
    static int [][] pscl (int n){
        int k = n;
        int [][] dreieck = new int [n][k];
      
        for (int i=0; i<n; i++){
            for (int j=0; j<k; i++){
                if (j==0 || j==i){
                    dreieck[i][j]=1;
                }//if
                else{
                    dreieck[i][j] = dreieck[i-1][j-1] + dreieck[i-1][j];
                }//else      
            }//for_j
        }//for_i
        return dreieck;
    }//pscl

    public static void main (String[]args){
        Scanner sc = new Scanner (System.in);
        System.out.println("Geben sie ein n ein!");
        int eingabe = sc.nextInt();
            if (eingabe>20){
                System.out.println("Das von ihnen gewaelte n ist zu gross!");
            }//if
            else{  
                int [][] result;
                result = pscl(eingabe);
                for (int i=0; i<result.length; i++){
                    for (int j=0; j<result[0].length; i++){
                System.out.printf("%-6d", result[i][j]);
                    }//for_j
                }//for_i
            }//else
    }//main
}//class
Das Programm compiliert, aber wenn ich es starte und eine Zahl für n eingebe kommt die Fehlermeldung "Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4 (da ich hier als Zahl 4 eingegeben hab, das passiert aber bei jeder Zahl die ich eingebe)
at Pascal.pscl(Pascal.java:13)
at Pascal.main(Pascal.java:37)"

Was soll ich tun? Hab grad garkeinen Plan ^^
 
Zuletzt bearbeitet von einem Moderator:

Hellosager

Aktives Mitglied
Man, bei mir hats auch ewig gedauert ^^
Java:
 for (int i=0; i<n; i++){
            for (int j=0; j<k; i++){

du erhöhst in beiden Schleifen das i und nicht das j.
 

DerDecane

Aktives Mitglied
Oh wow, okay danke. Habs mal geändert, neu compiliert und nochmal laufen lassen. Jetzt kommt die gleiche Fehlermeldung wie vorher, aber statt der Zahl 4 (bzw. jeder anderen Zahl) erscheint in der Fehlermeldung nun immer die Zahl -1 UND der Fehler liegt jetzt in Zeile 17 und 37, nichtmehr in 13.
 

Tarrew

Top Contributor
Du betrittst die äußere for-Schleife -> i=0;
Du betrittst die innere for-Schleife -> j=0;
Java:
                if (j==0 || j==i){
                    dreieck[i][j]=1;
                }
Die Bedingung ist erfüllt (da j==0).

Nächster Schleifendurchlauf -> i=0; j=1;
Da j!=0 und j!=i, ist die Bedingung nicht erfüllt, also wird folgender Code ausgeführt.
Java:
dreieck[i][j] = dreieck[i-1][j-1] + dreieck[i-1][j];
i-1 = -1

Und bei einem Array kannst du nicht auf den Index -1 zugreifen.

Aber das hättest du selbst leicht rausfinden können, wenn du deinen Code Schritt für Schritt durchgehst.
 
Zuletzt bearbeitet von einem Moderator:

Tarrew

Top Contributor
Ein bisschen Eigeniniative wäre gut.
Du darfst nicht bei i=0 anfangen. Fang bei i=1 ein und überleg was du davor dann noch machen musst.

Deine Ausgabe in der main-Funktion ist auch noch falsch.
 

DerDecane

Aktives Mitglied
Ah okay, ich fang einfach bei 1 an in der Schleife und setze den Wert von i=0 auf 1, da die oberste Zeile nur einen Wert hat undzwar die 1.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Klassen Record wie in Pascal Java Basics - Anfänger-Themen 4
J Pascal to Java? Java Basics - Anfänger-Themen 10
U Rekursive lösung von pascal dreieck Java Basics - Anfänger-Themen 11
G Was Units für Pascal sind, sind ? für Java Java Basics - Anfänger-Themen 9
D Pascal'sche Drreieck. was mache ich in der ausgabe flasch? Java Basics - Anfänger-Themen 5
_so_far_away_ pascalsches Dreieck Zentrierung. Java Basics - Anfänger-Themen 12
laxla123 Dreieck erstellen Java Basics - Anfänger-Themen 1
JustAProgrammer Ein Dreieck mit Arrays erstellen Java Basics - Anfänger-Themen 2
kxrdelis Konstruktor für ein Rechtwinkliges Dreieck Java Basics - Anfänger-Themen 10
G Magisches Dreieck Java Basics - Anfänger-Themen 2
F Pascalsches Dreieck mit Rückgabewert Java Basics - Anfänger-Themen 2
T Java Swing - Dreieck zeichnen mit verschiedenen Variablen Java Basics - Anfänger-Themen 8
S Überprüfung rechtwinkliges Dreieck Java Basics - Anfänger-Themen 4
Z Warum kein Dreieck aus Sternen? Java Basics - Anfänger-Themen 9
L Dreieck Java Basics - Anfänger-Themen 22
O Erste Schritte Pascalsche Dreieck Java Basics - Anfänger-Themen 3
H Stern Dreieck (Buch: Grundkurs Programmieren) Java Basics - Anfänger-Themen 2
L Pascalsches Dreieck Java Basics - Anfänger-Themen 4
N Methoden Gleichseitiges Dreieck erstellen Java Basics - Anfänger-Themen 8
U Dreieck Java Basics - Anfänger-Themen 22
E Dreieck zeichnen Java Basics - Anfänger-Themen 3
1 2D-Array, dass das pascalsche Dreieck berechnet Java Basics - Anfänger-Themen 2
L Dreieck Kreis Java Basics - Anfänger-Themen 12
B Dreieck Flächenberechnung Java Basics - Anfänger-Themen 2
B Java Grafikprogrammierung Dreieck Java Basics - Anfänger-Themen 6
I Umgedrehtes Dreieck Java Basics - Anfänger-Themen 3
M Dreieck erstellen Java Basics - Anfänger-Themen 17
J Dreieck Ausgeben Java Basics - Anfänger-Themen 3
R Pascalsche Dreieck Java Basics - Anfänger-Themen 4
R Pascalsche Dreieck Java Basics - Anfänger-Themen 8
C Pascalsches Dreieck: Ausgabeproblem Java Basics - Anfänger-Themen 10
K pascalsches Dreieck Java Basics - Anfänger-Themen 8
H Compiler-Fehler Pascalsche Dreieck Java Basics - Anfänger-Themen 2
M Pascalsches Dreieck Java Basics - Anfänger-Themen 12
M Dreieck prüfen Java Basics - Anfänger-Themen 8
W Pascalsches Dreieck Java Basics - Anfänger-Themen 19
E Pascalsche Dreieck aus Java openbook Java Basics - Anfänger-Themen 3
B Bitte um Hilfe es geht um Array + Punkte wie Dreieck,Fläche etc. Java Basics - Anfänger-Themen 12
D Pascalsches Dreieck Java Basics - Anfänger-Themen 9
H Dreieck aus Zeichen Java Basics - Anfänger-Themen 4
L Paskalsche Dreieck im Array Java Basics - Anfänger-Themen 2
T Pascalsche Dreieck ERKLÄRUNG Java Basics - Anfänger-Themen 6
H2SO3- dreieck, bild --> maus klick event. Wie gehts? Java Basics - Anfänger-Themen 10
Antoras Dreieck zeichnen Java Basics - Anfänger-Themen 2
A Problem Gleichseitiges Dreieck aus Sternchen Java Basics - Anfänger-Themen 7
G Pascalsche Dreieck in Dreieckform Java Basics - Anfänger-Themen 2
X Pascalsche Dreieck Java Basics - Anfänger-Themen 6
G Dreieck mit Java Apllet Java Basics - Anfänger-Themen 10
V Dreieck spiegeln Java Basics - Anfänger-Themen 3
L Dreieck soll Farbe ändern Java Basics - Anfänger-Themen 4
L Dreieck füllen Java Basics - Anfänger-Themen 4
X Dreieck ausgeben Java Basics - Anfänger-Themen 3
B Hindergrundfarbe in JPanel und Dreieck zeichnen Java Basics - Anfänger-Themen 4
D Das Problem mit dem Dreieck. Java Basics - Anfänger-Themen 5
B auf der Spitze stehendes Dreieck mit for-Schleifen Java Basics - Anfänger-Themen 6
lan2711 Anfänger: Konstruktion Dreieck Java Basics - Anfänger-Themen 2
G Pascalsches Dreieck Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben