Arrays minmum, Maximum, Mittelwert Summe?

4 Antworten

Vom Beitragsersteller 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 
Beitragsersteller
 19.04.2021, 13:27

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

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);
Meolettalove2 
Beitragsersteller
 19.04.2021, 13:35
@daCypher

Das kommt mir bekannter vor.

Dank dir eine große Hilfe

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 
Beitragsersteller
 18.04.2021, 23:44

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

Meinst du wie du das so selber hikriegst?

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


Meolettalove2 
Beitragsersteller
 18.04.2021, 23:37

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