Ich habe zuerst eine Kopie des Arrays erstellt und mich dann dem letzten Wert der Kopie dem ersten des alten zugewiesen usw...
Java:
publicstaticint[]umkehren(int[] a){int[] b =newint[a.length];// Erzeuge erstmal ein Array in das ich zwischenspeichern kannfor(int i =0; i < a.length ; i++){
b[i]= a[i];}//erstelle dann eine Kopie (Mit For-Schleife wegen Ref. Variable und so)for(int i =0; i < a.length ; i++)
a[i]= b[(a.length-1)-i];// und weise dann den ersten Wert des Alten Array dem letzten dem Wert des neuen zureturn a;//und gebe das alte dann wieder (nun aber umgekehrt) zurück}
@Klassensprecher: Dein Ansatz ist schon korrekt, aber wozu machst du denn in der ersten Schleife eine Kopie von a, wenn du es dann in der zweiten Schleife ohnehin veränderst? Spar dir doch die erste Schleife, verändere b in der zweiten Schleife und gib b zurück. Dann bleibt dir a erhalten. In etwa so:
Java:
publicstaticint[]umkehren(int[] a){int[] b =newint[a.length];for(int i=0; i<a.length; i++)
b[i]= a[(a.length-1)-i];return b;}
Trotzdem frage ich mich, wieso ihr das so umständlich lösen wollt - schaut euch doch einmal den Aufbau eines Palindroms an: Die erste Ziffer ist ident mit der letzten, die zweite mit der vorletzten, ... etc. Da muss man nichts umkehren, eine Schleife mit einer if-Abfrage reicht aus.
Umkehren und Palindrom sollen ja unabhängig voneinander sein.
Aber das mit dem b zurückgeben ist deutlich einfacher das stimmt.
Habe da einen Kleinen Gedankenfehler gehabt und gedacht das man immer die Variable die Oben reinkommt auch wieder zurückgeben muss. Ist aber natürlich quatsch.
EikeB hats schon gesagt: Du gibst 'meinArray' unverändert zurück. Das ist wohl der Kern.
Aber noch viel schlimmer: Du machst in der Routine ja garnichts, was mit dem Namen zu tun hat.
Die Methode müsste also so was wie "rückwärtsAnzeigen" heißen und nicht "umkehren".
Eine Veränderung in der Anzeige hat nichts mit Umkehren der Daten zu tun.
Deshalb ist auch deine Schlussfolgerung im 1. Post falsch: "es wiederholt die Methode umkehren."
Denn dann müsste die Reihenfolge ja wieder wie im Original sein.
Letzlich ist einfach die Ausgabe in deiner umkehr-Methode fehl am Platz.
(Außer du hast sie zu Debug-Zwecken eingebaut.)
Und in deinem main() fehlt aber die Ausgabe.
das Main sollte von der Struktur so heißen: