C# Visual Studio Fehler?

4 Antworten

Ach ja, das typische: "0 oder 1" Array Problem.

Du erstellst einen Array von Länge 3. Damit hast du 3 Elemente, die du speichern kannst. Du kannst also folgende setzen: 0, 1, 2. Element an Position 3 wäre ein Viertes. Bitte benutze 2 statt 3, um das Dritte anzusprechen.

Den Grund kann man gut in C sehen, wo ein Array wirklich nur ein Speicherbereich ist. Hier geht man dann von der Adresse des Arrays + die Zahl des Index. Deshalb auch Start bei null, denn bei der ersten Adresse ist ja auch schon Speicher frei und Adresse + 0 ist ja die Adresse. +1 wäre wiederum einer zu weit, wodurch unnötiger Leerraum entstehen würde. Ich hoffe, das ist verständlich erklärt. Habe mich versucht kurz zu fassen. Sowas ist ein komplexes Thema. Immer merken. Länge zählt man 1, 2, 3, aber wenn es um Zugriffe geht, dann 0, 1, 2


Das ist der Fehler: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3

du hast dein array auf 3 limitiert aber zahl[3] währe nummer 4 da es mit 0 beginnt und du kannst da nicht 4 nehmen weil du sonst 2 zu viel hast.

Hoffe das hat geholfen

LG

Dr. Mag. Favid Dinkelmyer

Woher ich das weiß:Berufserfahrung

Das ist dann ein Array mit drei Werten. Von 0 bis einschließlich 2.

Für Zahl[3] müsstest Du den int mit new int[4] initialisieren.


Es gibt nur Indices 0, 1, 2 der Index 3 existiert nicht