Array umdrehen

Jiggy

Mitglied
Soll ein Array(myArray) umgedreht durch ein neuesArray ausgeben.
Habs so versucht.. warum geht es nicht?
Java:
    int [] arrayUmdrehen(int [] myArray) {
	int [] neuesArray= new int[myArray.length]; 
	int j = myArray.length;
        
	for (int i = 0; i < myArray.length; i++) {
	 neuesArray[j] = myArray[i];
         j--;
	}
	return neuesArray;
  }

mfg
 
Soll ein neues Array zurückgegeben werden oder Elemente vertauscht werden?

Java:
for (int i = 0; i < arr.length; i++) {
  arrNew[i] = arr[arr.length - i - 1];
}
 
Es sollen die Elemente von myArray umgedreht in neuesArray drinstehen.
Mit deinem Befehl funktioniert es, aber meine Lehrerin hat von zwei Zählvariablen geredet...
Eine Ahung warum mein Code nicht funktioniert?
 
Ein Array der Länge x hat keinen Index x, da bekommst du eine ArrayIndexOutOfBoundsException.
 
Nur ein kleiner Fehler:

Java:
public class Test {

	public static int [] arrayUmdrehen(int [] myArray) {
		int [] neuesArray= new int[myArray.length]; 
		int j = myArray.length-1;  // Hier der Index

		for (int i = 0; i < myArray.length; i++) {
			neuesArray[j--] = myArray[i];
		}
		return neuesArray;
	}
	
	public static void main(String[] args) {

		int feld[] = {1,2,3,4,5};
		
		int feldneu[] = arrayUmdrehen(feld);
		System.out.println(Arrays.toString(feldneu));	
	}
}

Pentalon
 
Mit deinem Befehl funktioniert es, aber meine Lehrerin hat von zwei Zählvariablen geredet...

Java:
for (int i = 0, j = arr.length - 1; i < arr.length; i++, j--) {
  newAry[i] = ary[j];
}

Länge: 3:
0 <-> 2
1 <-> 1
2 <-> 0

Bin mir nur gerade nicht sicher, ob das einen Geschwindigkeitsvorteil bringen oder besser lesbar sein würde.

Grüße
 

Neue Themen


Zurück
Oben