Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Ich möchte mich mal kurz vorstellen. Ich heiße Richard und studiere Wirtschaftsinformatik an der FH Bonn Rhein Sieg . Momentan nehmen wir Java als Programmiersprache durch und müssen regelmäßig Übungen abgeben. Ich hoffe das dieses Forum mir Lösungsansätze vermitteln kann und das Ich viel von den erfahrenen usern hier erfahren kann :rtfm: Ich habe mir gerade die Methode array Copy angeschaut , wir sollten Werte von einer Variablen in eine andere Kopieren und in der Konsole ausgeben.
Hier mein kleiner Code : Leider erscheint nach erfolgreicher Ausgabe folgender fehler in der Konsole : Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
at EinfachesFelder_Kopieren.main(EinfachesFelder_Kopieren.java:29)
Es sind Laufzeitfehler aufgetreten.
Was genau bedeutet das ?????!!!!! Was könnt Ich besser machen ???
Ich wäre sehr dankbar wenn jemand mal rüberschauen könnte
Java:
public class EinfachesFelder_Kopieren {// Array Copy Methode
// hier Kopieren wir den Inhalt von Feld1 nach Feld2
// und geben dies in der Konsole aus.
public static void main ( String []args ) {
int feld1 [] ; // Feld anlegen
feld1 = new int [5]; // für Feld Grösse anlegen
feld1 [0] = 1 ; // Befüllung der Felder mit Werten
feld1 [1] = 2 ;
feld1 [2] = 3 ;
feld1 [3] = 4 ;
feld1 [4] = 5 ;
int feld2 [] ; // Feld anlegen
feld2 = new int [5];
System.arraycopy(feld1,0,feld2,0,5);
for ( int i = 0 ; i < feld2[i] ; i++){
System.out.println ( " In feld " + i + " befindet sich die " + feld2[i]);
}
}
}
Schau dir das vielleicht nochmal genau an...
Übrigens: das
Code:
java.lang.ArrayIndexOutOfBoundsException: 5
bedeutet, dass du versuchst auf einen ungültigen Index in einem Array zuzugreifen, und zwar in Zeile 29 (das steht drunter) (so wie dus hier gepostet hast, ist es allerdings Zeile 30).
ja ich kenn das habe auch vor 2 Wochen angefangen Wirtschaftsinformatik zu studieren und fange nun auch mit JAVA ganz neu an... Ich glaube ich hab eine Lösung aber naja ich bin auch neuling
Die besagt glaub ich das versucht wird in eine Arrayadresse zugehen welche nicht vorhanden ist...
Hab gerade leider kein Eclipse auf diesem Rechner, aber verusch mal in deiner Zeile 26 die 5 am Ende durch eine 4 zutauschen, weil in dem Bereich wo du die Werte definierst ist beim Array feld1 das 4te das letzte Element was definiert wird. Entweder so oder mach aus der Definiton von feld1[0] eine 5, sodass du bei 1 anfängst und wirklich bis zur 5 dem Leisten Feld im Array gehst.
Vielen Dank an eure Hilfe. Habt mir sehr geholfen. @Schrubber danke habe das so ausgeführt funktioniert auch.
Mal ne kurz verständnis frage bei der Schleife fragt er ja ab [JAVA=28]for ( int i = 0 ; i < feld2 ; i++){
[/code] er vergleicht aber den Wert von i nur mit der Referenznr aber nicht mit dem Inhalt ist das richtig? . Ich versteht noch nicht ganz mit welchem Wert i verglichen wird ??
Damit vergleichst du den Wert von feld2. Beispiel: Der Wert von feld2[3] ist 1. Dann wäre
Java:
for ( int i = 0 ; 3 < feld2[3] ; i++){
Dann wäre die Exitsequenz einzuleiten (Also die Schleife ist beendet), aber vielleicht gibt es noch feld2[4], was aber danach nicht mehr überprüft wird.