# Array Durchschnitt



## Snaer (9. November 2019)

Guten Tag,

Ich möchte ein Programm schreiben, dass mir den Durchschnitt eines Arrays unbekannter Länge berechnet. Das Programm soll ein Array mit einem int Wert erhalten und anschließend einen boolean Wert zurück geben. Falls der Durchschnitt enthalten ist sollte es true zurückgeben, wenn nicht false.
Mein Code sieht zurzeit so aus:

```
public class Functionality {
   
public static boolean containsMean (int[] array){
    double summe = 0.0;
   
    for (int index = 0; index < array.length; index++) {
        summe = summe + array[ index ];
    double berechnung = summe / array.length;
    long durchschnitt = Math.round(berechnung);
        if (index == durchschnitt) {
            return true;
           
    }
        else if (array.length<= 1 || array == null) {
            return false;
        }
        else {
            return false;
        }
   
   
   
       
    }
}
}
```

Das Problem aktuell ist, dass ich einen Compiler Fehler erhalte, weil mir das Programm einen boolean Wert zurück geben soll.. jedoch sollte das durch das return true und die return falses erledigt sein oder irre ich mich?
Außerdem zeigt es mir einen Fehler bei index++ bei dem steht "Dead Code", kann mir zufällig jemand sagen was das zu bedeuten hat?


----------



## ComFreek (10. November 2019)

Snaer hat gesagt.:


> jedoch sollte das durch das return true und die return falses erledigt sein oder irre ich mich?


Es muss in jedem Codezweig ein return sein. D.h. auch außerhalb der for-Loop. (Bei bestimmten Sprachen mag das übrigens nicht der Fall sein, etwa Scala, wenn der Compiler herausfinden kann, dass die Schleife mindestens 1 Mal ausgeführt wird.)



Snaer hat gesagt.:


> "Dead Code", kann mir zufällig jemand sagen was das zu bedeuten hat?


Siehe Internet, was das i. Allg. bedeutet. Hier terminierst du schon nach einer Schleifenausführung. D.h. ein i++, was immer nach einer Schleifenausführung kommen würde, kann nie stattfinden.


----------

