Kann Jemand mir erklären wieso immer ein Fehlermeldung kommt?

6 Antworten

Der äußere Schleifenindex i muss hinten stehen:

fistAndLastName[j][i]

Das Array hat nämlich die Länge 2, und jeder Eintrag ist ein String[5].

Hallo Hendrik Pruin,

wie die anderen schon geschrieben haben liegt es an deinem Array..

Lg

Schaumal hier, die Fehlermeldung wird erklärt :
https://www.dpunkt.de/java/Referenz/Das_Paket_java.lang/4.html
das ist es wohl :Die ArrayIndexOutOfBoundsException tritt auf, wenn versucht wird, ein Array mit einem ungültigen Index anzusprechen.

Du gibst dem index 0 bis index 3 Werte. Dein Array ist mit der länge 4 definiert. Du musst die auf 3 setzen. Die Länge des Array [3] ist 4.

Merke dir. Arrays fangen bei 0 an und nicht bei 1. Das weißt du wahrscheinlich auch.


Winfimet  29.01.2020, 01:55
String arr[][] = new String[2][2];

arr[0][0] = "hallo";
arr[0][1] = "moin";
arr[1][0] = "servus";
arr[1][1] = "mahlzeit";

for(int i=0;i<arr.length;++i){
  for(int k=0;k<arr[i].length;++k){
    System.out.println(arr[i][k]);
  }
}
0
Winfimet  29.01.2020, 02:00

Ich merk gerade das meine Antwort mehr als falsch ist. Gute Nacht. xD

0

Öhm... wo siehst du da eine Fehlermeldung? In den beiden grünen Zeilen (das sind Kommentare, also kein Code), wo etwas rot unterstrichen ist, schlägt wahrscheinlich eine Rechtschreibprüfung Alarm, weil sie die unterstrichenen deutschen Worte nicht kennt. Kannst ja mal mit der Maus darüber fahren und schauen, ob du dann mehr Informationen kriegst.

Oder halt die Meldungen ignorieren, denn wie du unten siehst, läuft das Programm so wie es soll.


Jemand365 
Beitragsersteller
 27.01.2020, 23:35

Ja aber Ich habe als Ausgabe nur die erste Spalte bekommen und ich habe 4 Spalten getippt ? 😅

0
bluebird5  27.01.2020, 23:42
@Jemand365

Lass dir mal probeweise in der Schleife (also über der println-Anweisung) jeweils i und j ausgeben. Die Werte sollten wie folgt sein:

0 0
0 1
1 0
1 1
2 0
2 1

und das sind im Prinzip auch die Werte, die dem jeweiligen Element im Array entsprechen. [0, 0] ist Franz, [0, 1] ist Huber und so weiter. Und die werden untereinander ausgegeben.

Also dein Programm macht das, was du da eingegeben hast. Ob es das ist, was es auch soll, ist noch eine zweite Frage. Davon mal abgesehen hat firstAndLastNames nur 2 und nicht 4 Spalten.

0
Jemand365 
Beitragsersteller
 27.01.2020, 23:50
@bluebird5

also ich habe das so eingegeben

for(int i = 0; i < Daten_von_Patienten.length; i++) {

for(int y = 0; y < Daten_von_Patienten.length; y++) {

System.out.println(i);

System.out.println(y);

und kam auf sowas

0

0

0

1

0

2

0

3

1

0

1

1

1

2

1

3

2

0

2

1

2

2

2

3

3

0

3

1

3

2

3

3

0