... und die Zahl mit dem geringsten Abstand ausgeben.
Hier berechne ich den Durchschnitt eines Arrays, aber der Part, wo ich nicht weiterkomme, ist die berechneAbstand Methode... Dort wird immer 0 ausgegeben, wieso?
Java:
public static void main(String[] args) {
Scanner scanner = new Scanner (System.in);
int[] array = new int[5];
int zahl = scanner.nextInt();
int zahl1 = scanner.nextInt();
int zahl2 = scanner.nextInt();
int zahl3 = scanner.nextInt();
int zahl4 = scanner.nextInt();
array[0] = zahl;
array[1] = zahl1;
array[2] = zahl2;
array[3] = zahl3;
array[4] = zahl4;
double durchschnitt = berechneDurchschnitt(array);
System.out.println(durchschnitt);
int minimumZahl = berechneAbstand(durchschnitt, array);
System.out.println(minimumZahl);
scanner.close();
}
public static double berechneDurchschnitt(int[] array) {
double durchschnitt = 0;
int summe = 0;
int zaehler = 0;
for (int i = 0; i < array.length; i++) {
summe += array[i];
zaehler++;
}
durchschnitt = summe / zaehler;
return durchschnitt;
}
//HIER!
public static int berechneAbstand(double durchschnitt, int[] array) {
int counter = 0;
int minimum = 0;
int bisherigeZahl = 0;
for (int i = 0; i < array.length; i++) {
if (durchschnitt <= i) {
for (double j = durchschnitt; j <= i; j++) {
counter++;
}
if (minimum > counter) {
minimum = counter;
bisherigeZahl = i;
}
} else if (durchschnitt > i) {
for (double j = i; j <= durchschnitt; j++) {
counter++;
}
if (minimum > counter) {
minimum = counter;
bisherigeZahl = i;
}
}
}
return bisherigeZahl;
}
}
Hier berechne ich den Durchschnitt eines Arrays, aber der Part, wo ich nicht weiterkomme, ist die berechneAbstand Methode... Dort wird immer 0 ausgegeben, wieso?