warum bekomme ich immer den falschen Wert
Du musst angeben, was die Funktion machen soll.
Wenn du nicht angibst, was die Funktion machen soll, dann darf die Funktion machen was sie will.
Wenn die Funktion machen darf was sie will, dann darfst du dich nicht nachher beklagen, dass sie nicht macht was du willst.
System.out.println("max. " + g + " (" + durchschnitt + ") " + "am " + mT + "." + mM + "." + mJ);
Ich finde es etwas seltsam, dass durchschnitt
als max.
bezeichnet wird. Aber da die Funktion ja machen darf, was sie will, weiß ich nicht ob das so beabsichtigt ist oder nicht.
Um anzugeben, was eine Funktion machen soll, gibt es sogenannte doc comments.
Beispiel.
/**
* Berechnet den Flächeninhalt eines Rechtecks.
*
* @param a Eine Seitenlänge des Rechtecks.
* @param b Die andere Seitenlänge des Rechtecks.
* @return Flächeninhalt des Rechtecks mit
* Seitenlängen a und b.
*/
public static double berechne(double a, double b) {
return 2*a + 2*b;
}
Hier sieht man deutlich, dass die Funktion nicht das tut, was sie soll. Sie soll den Flächeninhalt eines Rechtecks berechnen, berechnet aber tatsächlich den Umfang.