Arrays minmum, Maximum, Mittelwert Summe?

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet
public class MaxMin
{
   public static void main(String args[])
   {
      int arr[] = new int[10] , i, max, min ;
      double tmp;

      for( i=0 ; i<arr.length ; i++)  // Array belegen
      {
         tmp = 100*Math.random() ;  //  0 <= tmp < 100
         tmp = Math.floor(tmp) ;    //  0 <= tmp <= 99  (ganzzahlig)
         arr[i] = (int)tmp ;
      }

      for( i=0 ; i<arr.length ; i++)  // Array ausgeben
         System.out.println(arr[i]);

      // Maximum bestimmen
      max = arr[0];
      for( i=0 ; i<arr.length ; i++)
         if (max<arr[i])
            max = arr[i] ;

      System.out.println("max = " + max);

      // Minimum bestimmen
      min = arr[0];
      for( i=0 ; i<arr.length ; i++)
         if (min>arr[i])
            min = arr[i] ;

      System.out.println("min = " + min);

      // Mittelwert bestimmen
      double mittel = 0 ;
      // Summe bilden
      for( i=0 ; i<arr.length ; i++)
         mittel += arr[i] ;

      mittel /= arr.length ;
      System.out.println("Mittelwert = " + mittel);

   }  // end main

}  // end class

Am einfachsten geht das mit IntStreams. Da sind die Funktionen für Min, Max, Average und Sum schon drin:

int[] zufallszahlen = {94, 52, 9, 79, 34, 91, 26, 33, 92, 56};


System.out.println("Min: " + Arrays.stream(zufallszahlen).min().getAsInt());
System.out.println("Max: " + Arrays.stream(zufallszahlen).max().getAsInt());
System.out.println("Mittelwert: " + Arrays.stream(zufallszahlen).average().getAsDouble());
System.out.println("Summe: " + Arrays.stream(zufallszahlen).sum());
Meolettalove2 
Fragesteller
 19.04.2021, 13:27

Hmm haben wir so glaub ich nicht gelernt aber wenn es richtig ist sollte das wohl so funktionieren.

0
daCypher  19.04.2021, 13:34
@Meolettalove2

Wahrscheinlich sollt ihr das "per Hand" mit Schleifen und Bedingungen machen. Also du gehst jeden Wert einzeln durch und guckst, ob es der größte/kleinste Wert ist, bzw. zählst die Werte zusammen.

Also etwa so:

int[] zufallszahlen = {94, 52, 9, 79, 34, 91, 26, 33, 92, 56};

int min = Integer.MAX_VALUE;
int max = Integer.MIN_VALUE;
int summe = 0;
for (int zahl:zufallszahlen) {
	if (zahl < min) {
		min = zahl;
	}
	
	if (zahl > max) {
		max = zahl;
	}
	
	summe += zahl;
}


System.out.println("Min: " + min);
System.out.println("Max: " + max);
System.out.println("Mittelwert: " + ((double) summe / zufallszahlen.length));
System.out.println("Summe: " + summe);
0
Hi hier ein Beispiel

int[] nums={6,-1,-2,-3,0,1,2,3,4};
Arrays.sort(nums);
System.out.println("Minimum = " + nums[0]);
System.out.println("Maximum = " + nums[nums.length-1]);

MOtterbert etc kannst ja dann berechnen 
Woher ich das weiß:Berufserfahrung
Meolettalove2 
Fragesteller
 18.04.2021, 23:44

Okey das es ein sortierer gibt macht das alles natürlich deutlich einfacher.

0

Meinst du wie du das so selber hikriegst?

Schleifen, Sortieralogrythmen u.s.w. in Verbindung mit Bufferarrays.

Meolettalove2 
Fragesteller
 18.04.2021, 23:37

Ich war bei dem Thema krank in der Schule deshalb komm ich da etwas net mit

1