Min und Max einer Zahlenfolge bestimmen

TN!

Mitglied
Ich möchte ein Programm schreiben, das den Min und den Max Wert einer eingegebenen Zahlenfolge bestimmt. Zusätzlich sollen auch die Summe und der Mittelwert ausgegeben werden.
Teilweise habe ich das so hinbekommen, allerdings werden irgendwie nicht alle Zahlen der Folge berücksichtigt.
Bsp. Zahlenfolge 12 20 15:
Summe:27
Maximum:15
Minimum:12
mittelwert:13.0
Hier wird die 20 nicht mitberücksichtigt, sondern nur die 12 und die 15.

Mein Code dazu:
Java:
  public static void main(String [] args) {
       
        System.out.println ("Bitte geben Sie eine Reihe von Zahlen ein.");
        int anzahl, summe, max, min;
        anzahl = 0;
        summe = 0;
        max = Integer.MIN_VALUE;
        min = Integer.MAX_VALUE;
        double mittelwert = 0;
        String input = "";
        Scanner sc = new Scanner(System.in);
        while (!input.equals("exit"))
        {
            int getInt = sc.nextInt();
           
                if ( getInt > max )
                    max = getInt;

                if ( getInt <= min )
                    min = getInt;

                summe += getInt;
                anzahl ++;
                input = sc.next();
   
        }
        mittelwert = summe / anzahl;
        System.out.println("Summe:" + summe);
        System.out.println("Maximum:" + max);
        System.out.println("Minimum:" + min);
        System.out.println("mittelwert:" + mittelwert);[/SIZE]

Kann mir da jemand helfen?

Gruß
TN!
 
Moin,

hast Du es mal mit mehr als drei Zahlen versucht?
So aus dem Bauch heraus hast Du in der WHILE-Schleife ein 'next' zuviel !

gruß Klaus
 
In der Schleife rufst du next () auf und speicherst das in der Input Variable. Somit wird jeder zweite Wert fehlen.
Rufe einfach next auf und speichere es in Input und caste es einfach nach Int.

Das nextInt brauchst du dann nicht mehr.
 
Zuerst einmal danke für eure Hilfe!
Zu Kababbär:
In der Schleife rufst du next () auf und speicherst das in der Input Variable. Somit wird jeder zweite Wert fehlen.
Rufe einfach next auf und speichere es in Input und caste es einfach nach Int.
Ich verstehe leider nicht ganz was du meinst. Könntest du mir das eventuell zeigen?
 
Java:
          while (!input.equals("exit"))
        {
            int getInt = sc.nextInt();
           
                if ( getInt > max )
                    max = getInt;

                if ( getInt <= min )
                    min = getInt;

                summe += getInt;
                anzahl ++;
                input = sc.next();
        }

Ich verstehe leider nicht ganz was du meinst. Könntest du mir das eventuell zeigen?

Die while-Schleife wird betreten und mit "nextInt()" wird die erste Zahl eingelesen und auf der Variable "getInt" gespeichert.
Danach wird mittels "next()" die nächste Zahl eingelesen und auf dem String "input" gespeichert. Die 3.Zahl wieder auf "getInt" usw.
 

Zurück
Oben