Array vertauschen ohne ein neues anzulegen?!

Diskutiere Array vertauschen ohne ein neues anzulegen?! im Java Basics - Anfänger-Themen Bereich.
J

JavaKev

Hallo, ich habe die Aufgabe die Inhalte eines Arrays zu vertauschen, ohne dabei ein neues Array anzulegen. Nun habe ich das Problem, dass ich nicht die geforderte Ausgabe bekomme. Kann mir jemand helfen?

Java:
public static void in_situ_reverse(int[] arr) {
        for (int i = 1; i < arr.length; i++) {
            int c = arr[i -1];
            arr[i-1] = arr[arr.length -i];
            arr[arr.length-i] = c;
        }
        System.out.println(arr);
    }

main: int[] arr1 = {1,2,3};
      in_situ_reverse(arr1);

Ausgabe: [[email protected]
 
mihe7

mihe7

Es gibt zwar noch andere Probleme, aber da kommst Du ggf. selbst drauf, so dass Du die Ausgabe erstmal mit Arrays.toString(arr) lösen kannst.
 
J

JavaKev

Es gibt zwar noch andere Probleme, aber da kommst Du ggf. selbst drauf, so dass Du die Ausgabe erstmal mit Arrays.toString(arr) lösen kannst.
okay danke schonmal für deine Antwort. Also wenn ich Arrays.toString(arr) eingebe dann bekomme ich dass richtige Ergebnis. Aber ich bin etwas überfragt was die anderen Probleme sein könnten. Kannst du mir vlt einen Anstoß geben wo es Probleme gibt?
 
F

fhoffmann

Teste dein Programm doch einmal mit
Code:
int[] arr1 = {1,2,3,4,5};
 
J

JavaKev

Teste dein Programm doch einmal mit
Code:
int[] arr1 = {1,2,3,4,5};
mmmh...okay ich habe den fehler gesehen, er tauscht die 2 mit der 4 nicht. Aber ich komme nicht auf den fehler, habe mir die schritte auch schon aufgemalt, aber laut meinem verständnis sollte es funktionieren... :(
 
J

JavaKev

er vertauscht eigentlich nur das erste und das letzte element...
 
F

fhoffmann

Du solltest die for-Schleife in der Mitte des Arrays abbrechen. Sonst tauscht du die meisten Elemente zweimal.
 
Thema: 

Array vertauschen ohne ein neues anzulegen?!

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben