Ich verstehe im Quellcode die Methode "tauschReihenfolge" nicht
Ich habe leider keinen Ansatz dafür und habe direkt in die Lösung geschaut. Kann mir jeman erklären wieso die Methode tauschReihenfolge die Reihenfolge im Array vertauscht? Wieso steht dort geteilt durch 2?
Java:
// Blatt 11 Aufgabe 11.2
// Aufgabe112.java
class Aufgabe112{
//Methode um das Array auszugeben.
static void arrayAusgeben(int[] a){
for(int i = 0; i< a.length; i++)
System.out.println(a[i]);
}
//Methode, um zwei Elemente im Array zu vertauschen
static void tausch(int a[], int i, int j){
int hilf;
hilf = a[i];
a[i] = a[j];
a[j] = hilf;
}
//Methode um die Reihenfolge im Array zu vertauschen
static void tauschReihenfolge(int a[]){
for (int i = 0, j = a.length-1; i < a.length/2;i++, j--){
tausch(a,i,j);
}
//Inhalt des Arrays ausgeben
arrayAusgeben(a);
}
//Methode, die das Maximum im Array ermittelt und zurück gibt
static int maximum(int a[]){
int max = a[0];
for (int i = 1; i < a.length; i++){
if (a[i] > max)
max = a[i];
}
return max;
}
//Methode, die die Anzahl der Elemente im Array ermittelt und die den Durchschnitt berechnet
static double[] anzahlDurchschnitt(int a[]){
double b[] = new double[3];
b[0] = a.length;
int summe = 0; double durchschnitt = 0;
for (int i = 0; i< a.length; i++)
summe += a[i];
durchschnitt = (double) summe/a.length;
b[1] = durchschnitt;
return b;
}
public static void main (String args[]){
//Deklaration
int[] feld;
//Erzeugung eines Arrays zum Test
feld = new int[12];
//Initialisierung des Arrays
for (int i = 0; i< feld.length; i++)
feld[i] = i;
arrayAusgeben(feld);
tauschReihenfolge(feld);
double max = maximum(feld);
double feld2[] = new double[2];
feld2 = anzahlDurchschnitt(feld);
double durchschnitt = feld2[1];
double anzahl = feld2[0];
System.out.println("Durchschnitt: "+durchschnitt);
System.out.println("Anzahl der Elemente im Array: "+anzahl);
System.out.println("Maximum im Array ist"+ max);
}
}
Ich habe leider keinen Ansatz dafür und habe direkt in die Lösung geschaut. Kann mir jeman erklären wieso die Methode tauschReihenfolge die Reihenfolge im Array vertauscht? Wieso steht dort geteilt durch 2?
Zuletzt bearbeitet von einem Moderator: