Array Durchschnitt


Snaer

Grünschnabel
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:
Java:
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?
 
Zuletzt bearbeitet von einem Moderator:

ComFreek

Mod | @comfreek
Moderator
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.)

"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.