Durchschnitt berechnen

  • Themenstarter Themenstarter prodonn
  • Beginndatum Beginndatum
P

prodonn

Gast
Guten tach,

ich lene seit Mittwoch java eclipse kennen :rtfm: und wollte euch mal fragen wie man am Einfachsten einen Durchschnitt berechnet. Ich habe schon in google geschaut und wirklich nur die komplziertesten methoden gesehen. Es muss doch eine einfache und schnelle Variante geben oder?

Mfg
 
das hat nix mit Java ansich zu tun sondern mit Mathe.

was ist der Durchschnitt von n-Zahlen ?

schreibs auf papier wie du es berechnest, so ists dann auch im Programm
 
Alle Zahlen zusammenrechnen dann durch die Anzahl der Zahlen teilen
Java:
public static void main() {
	double n1 = 5;
	double n2 = 8;
	double n3 = 9;
	double ergebnis = (n1+n2+n3) / 3.0;
	
	System.out.println("Ergebnis : " + ergebnis);
}

Falls du eine Methode dafür schreiben willst könntest du z.b. alle Werte in eine Liste speichern und durch die Länge teilen, wobei ich dir nicht sagen kann wie effizient/sinnvoll diese Lösung ist.
 
Zuletzt bearbeitet:
@shishigami:
der durchschnitt ist meist keine integer zahl - deine division ergibt aber so eine [c] / 3.0[/c] eher
 
3390182310_f86c82cb95.jpg
 
Java:
public double durchschnitt(double[] zahlen) {
double ges = 0.0;

for(int i = 0; i < zahlen.length; i++) {
ges +=zahlen[i]

}

return (ges/zahlen.length);
}

sowas?
 
Zuletzt bearbeitet:
Es würde sich eine varargs-Methode anbieten:
Java:
public static double calcAvg(double... values) {

  double sum = 0;

  for(double current : values) {
    sum+=current;
  }

  return sum / values.length;

}
 
Ich weiß doch wie man einen durchschnitt berechnet.
ich wollte bloß wissen wie man das in java berechnet, also den genauen code. ein paar haben eine sinvolle antwort gegeben. Hier ist die komplizierte rechnung die ich meinte:

Java:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


public class zufallszahlen {

	/**
	 * @param args
	 * @throws IOException 
	 * @throws NumberFormatException 
	 */
	public static void main(String[] args) throws NumberFormatException, IOException {
		BufferedReader ein = new BufferedReader (new InputStreamReader(System.in));
int [] zufallszahlen = new int [20];
		
		System.out.println("Die 20 Zufallszahlen sind:");
	for (int i=0; i<zufallszahlen.length; i++){
	zufallszahlen[i] = 1+ (int)(99*Math.random());
	
	System.out.print(zufallszahlen[i]+"; ");
	
	}
	int max = zufallszahlen[0];
	for(int i=1; i<zufallszahlen.length;i++)
		if (zufallszahlen[i]>max)
			max = zufallszahlen[i];
           
           
           
	{
        System.out.println();
        System.out.println("Die größte Zahl ist die "+max);
        
           
          }
	{
		int min = zufallszahlen[0];
	for(int i=1; i<zufallszahlen.length;i++)
		if (zufallszahlen[i]<min)
			min = zufallszahlen[i];
	
	{
	System.out.println();
    System.out.println("Die kleinste Zahl ist die "+min);
	}
	{
		int summe = 0;
		for(int i=0; i<zufallszahlen.length;i++)
			{
			
			summe = summe + zufallszahlen[i];
		
			
		
		
	
			}
		System.out.println();
	    System.out.println("Der Mittelwert der Zahlen ist " +summe/20);
	}
	}
	}
	}
 
Java:
public int sum(int... args) {
	int sum = 0;
	for( int i : args) sum += i;
	return sum;
}

public int avg(int... args) {
	return sum(args)/args.length;
}
 
[EDIT]Obsolet, Kommentar ist jetzt vorhanden 😀[/EDIT]
@shishigami: Kommentarlos die Editfunktion benutzen, wie gemein! :bae: Nach der Änderung des Typs der Summanden n1 bis n3 in double ist das Teilen durch 3.0 statt 3 übrigens nicht mehr nötig. Da der Nenner jetzt Fließkomma ist, ist es auch die komplette Division.
 
Zuletzt bearbeitet von einem Moderator:
[OT]Wer sagt eigentlich, dass der TO den mathematischen Durchschnitt meint? Der Durchschnitt für die gründlichste Rasur einen Menschen z.B. befindet sich so ca. 13% der Körpergrösse (1 Kopflänge) unterhalb des Haaransatzes. :lol:[/OT]
 

Zurück
Oben