Heiho java Forum!
Also ich möchte ein Array kopieren, dass hab ich auch getan, aber es kommt immer die Fehlermeldung ArryOutOfIndexBounds. Aber ich überschreite nirgendwo die Indizes. Zumindeste denke ich mal , dass ich sie nirgendwo überschreite. Hier mal die wichtigen Quellcode stellen und im vorraus schonmal danke für eure Hilfe.
main - Funktion
rotate: soll das feld verschieben ... zb feld=[1,2,3,4] roatate_feld_links=[4,1,2,3]
Hier mal noch die Error MSG
Also ich möchte ein Array kopieren, dass hab ich auch getan, aber es kommt immer die Fehlermeldung ArryOutOfIndexBounds. Aber ich überschreite nirgendwo die Indizes. Zumindeste denke ich mal , dass ich sie nirgendwo überschreite. Hier mal die wichtigen Quellcode stellen und im vorraus schonmal danke für eure Hilfe.
main - Funktion
Java:
int n = tasten.readInteger("Bitte Anzahl der Feldvariablen eingeben: ");
int[] erg = new int[n];
int[] feld = new int[n];
//Feld einlesen
for(int i=0;i<n;i++)
{
feld[i] = tasten.readInteger("Bitte eine Zahl eingeben: ");
}
erg = rotate(feld,true,n);
rotate: soll das feld verschieben ... zb feld=[1,2,3,4] roatate_feld_links=[4,1,2,3]
Java:
public static int[] rotate(int[] feld, boolean nachlinks,int n)
{
int[] foobar = new int[n];
for(int i=0;i<foobar.length-1;i++)
{
foobar[i]=0;
}
System.arraycopy(feld,1,foobar,1,n);
//nach links
if(nachlinks)
{
feld[0] = foobar[feld.length-1];
for(int i=1;i<feld.length;i++)
{
feld[i]=foobar[i-1];
System.out.println(feld[i]);
}
}
//nach rechts
else
{
feld[feld.length-1]=foobar[0];
for(int i=0;i<feld.length-1;i++)
{
feld[i]=foobar[i-1];
}
}
return feld;
Code:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException
at java.lang.System.arraycopy(Native Method)
at R15.rotate(R15.java:131) [COLOR="Red"]System.arraycopy(feld,1,foobar,1,50); bei uns Line8[/COLOR]
at R15.main(R15.java:73) [COLOR="DarkGreen"]erg = rotate(feld,true,n); bei uns Line10[/COLOR]
Zuletzt bearbeitet: