[QUOTE=Unregistriert]Hallo,
ich habe die Aufgabe bei einem Array die ersten und letzten Inhalte zu tauschen
Ich habe dies jedoch nur bei den benachbarten Stellen gemacht gehabt bisher.
Könnt ihr mir nun eine kleine Hilfe geben?
Der Code von meinem Programm bei dem die benachbarten Stellen getauscht werden ist :
{
public static void main(String[ ] args)
{
int tausch = 0 ;
int zaehler = 0 ;
int[] noten = {3,5,10,3,1,0,18,34,81,2,15,27};
for (zaehler=0;zaehler<13;zaehler++)
{
tausch = noten[zaehler + 1];
noten[zaehler+1] = noten[zaehler];
noten[zaehler] = tausch ;
}
}
}```
Die Aufgabe sollte in einem ähnlichen Schema gelöst werden :)[/QUOTE]
Du hast da eine AIOOBE, aber, ich denke mal, diese Regelverletzung sei beabsichtigt?
Nach Marco13: ``` public static void main(String... args) {
int tausch = 0;
int zaehler = 0;
int[] noten = {3, 5, 10, 3, 1, 0, 18, 34, 81, 2, 15, 27};
for (int i = 0; i < 11 /*noten.length - 1*/; i++)
for (zaehler = 0; zaehler < 11 /*noten.length - 1*/; zaehler++) {
tausch = noten[zaehler + 1];
noten[zaehler + 1] = noten[zaehler];
noten[zaehler] = tausch;
}
for (int i = 0; i < 12 /*noten.length*/; i++)
for (zaehler = 1; zaehler < 11 /*noten.length - 1*/; zaehler++) {
tausch = noten[zaehler + 1];
noten[zaehler + 1] = noten[zaehler];
noten[zaehler] = tausch;
}
System.out.println(Arrays.toString(noten));
}```
Also ich kenne niemanden, der das wirklich machen würde..
Idee: Nach dem Ausführen einer Schleife steht das vorderste Element hinten, alle anderen Elemente sind um eins auf-/vorgerückt. Dies lässt sich wiederholen, bis das zuerst hinterste Element vorne steht, und dann lässt sich dies auch wieder wiederholen.
*** Edit ***
``` public static void main(String[] args) {
int tausch = 0;
int zaehler = 0;
int[] noten = {3, 5, 10, 3, 1, 0, 18, 34, 81, 2, 15, 27};
for (int i = 0; i < 11 /*noten.length - 1*/; i++)
for (zaehler = 0; zaehler < 11 /*noten.length - 1*/; zaehler++) {
tausch = noten[zaehler + 1];
noten[zaehler + 1] = noten[zaehler];
noten[zaehler] = tausch;
}
//for (int i = 0; i < 12 /*noten.length*/; i++)
for (zaehler = 1; zaehler < 11 /*noten.length - 1*/; zaehler++) {
tausch = noten[zaehler + 1];
noten[zaehler + 1] = noten[zaehler];
noten[zaehler] = tausch;
}
System.out.println(Arrays.toString(noten));
}```