# Minimum/Maximum aus einer Liste



## PiBi (27. Mai 2006)

Hallo an alle,

ich hab ein kleines Problem mit nem Programm, und zwar soll 5 Zahlen in einem Array abspeichern und die kleinste, die größte Zahl, Spannweite und Mittelwert berechnen. Wir haben den Tipp bekommen, mit einer for-Schleife zu arbeiten, aber was ich auch mache, es funktioniert nicht. Würde mich freuen, wenn mir jemand helfen könnte.

Hier das Listing:

```
public class aufgabe24seite23versuch2
{
  public static void main(String[] argument)
  {
    int zahlen[] = {234,123,345,456,567};
    int Max =zahlen[0];
    int Min = zahlen[0];
    int i;
    for(i=0; i<=4; i++)
    {
    if(zahlen[i]<Min);
    Min = zahlen[i];
    }
    System.out.println("Das Minimum ist "+Min);
    for(i=1; i>=4; i++)
    {
      if(zahlen[i]>Max)
      Max= zahlen[i];
    }
    System.out.println("Das Maximum ist "+Max);
  }
}
```


----------



## clemson (27. Mai 2006)

Die Berechnungen können in einer For-Schleife erfolgen


```
package org.javaforum.y06.may.Mittelwert;

/**
 * Calculate average, minimum and maximun value out of a list
 * @author Müller Clemens
 * @version $Revision: $, $Date: $
 */
public class MittelwertTest
{

	/**
	 * @param args
	 */
	public static void main(String[] args)
	{
		int[] numbers = { 234, 123, 345, 456, 567 };

		/**
		 * initialize
		 */
		int maximum = numbers[0];
		int minimum = numbers[0];
		int span = 0; // span between minimum and maximum
		double average = 0;

		int tempNumber = numbers[0];
		for (int i = 0; i < numbers.length; i++)
		{
			// get the i.st position in array
			tempNumber = numbers[i];
			if (tempNumber < minimum)
			{
				// set new minium, if current number is lesser than previous
				// minimun
				minimum = tempNumber;
			}
			else if (tempNumber > maximum)
			{
				// else if current number is greater than previous maximum,
				// set new maximum value
				maximum = tempNumber;
			}
			// calculate the average
			average = ((average * (i)) + tempNumber) / (i + 1);
		}
		// calculate span
		span = maximum - minimum;

		System.out.println("Miniumun: " + minimum);
		System.out.println("Maximum:  " + maximum);
		System.out.println("Span:     " + span);
		System.out.println("Average:  " + average);
	}
}
```

Ausgabe:

```
Miniumun: 123
Maximum:  567
Span:     444
Average:  345.0
```


----------



## PyroPi (27. Mai 2006)

@ PiBi: Das funktioniert nicht wie es soll, weil in Zeile 12 nach der if-Anweisung ein Semikolon zuviel ist und in Zeile 16 ein i<=4 stehen muß.


----------



## Guest (28. Mai 2006)

Oh...dass es an sowas Simplem liegt, hätt ich nicht gedacht....funktioniert jetzt jedenfalls, vielen, vielen Dank!!


----------

