# Durchschnitt berechnen



## prodonn (24. Aug 2012)

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


----------



## bygones (24. Aug 2012)

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


----------



## tribalup (24. Aug 2012)

Und poste bitte mal eine dieser kompliziertesten Methoden das würd ich gern mal sehen


----------



## shishigami (24. Aug 2012)

Alle Zahlen zusammenrechnen dann durch die Anzahl der Zahlen teilen

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


----------



## bygones (24. Aug 2012)

@shishigami:
der durchschnitt ist meist keine integer zahl - deine division ergibt aber so eine [c] / 3.0[/c] eher


----------



## shishigami (24. Aug 2012)




----------



## Templarthelast (24. Aug 2012)

```
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?


----------



## tribalup (24. Aug 2012)

Mh nun habt ihr ihm alles abgenommen.


----------



## nillehammer (24. Aug 2012)

Es würde sich eine varargs-Methode anbieten:

```
public static double calcAvg(double... values) {

  double sum = 0;

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

  return sum / values.length;

}
```


----------



## prodonn (24. Aug 2012)

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:


```
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);
	}
	}
	}
	}
```


----------



## Mujahiddin (24. Aug 2012)

```
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;
}
```


----------



## nillehammer (24. Aug 2012)

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


----------



## Gäste (24. Aug 2012)

aber das ist dicher nicht das erste was du findest wenn du es in google eingibst!


----------



## Templarthelast (24. Aug 2012)

Welchen Teil davon hälst du für kompiliziert bzw. verstehst du nicht?


----------



## Spacerat (24. Aug 2012)

[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]


----------



## Crian (24. Aug 2012)

Spacerat hat gesagt.:


> [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]



Das bezweifle ich stark. Bedenke, wieviele Beine und Bikizonen rasiert werden.


----------

