Größten und kleinsten Wert im Array ermitteln?

  • Themenstarter Themenstarter Gelöschtes Mitglied 53953
  • Beginndatum Beginndatum
G

Gelöschtes Mitglied 53953

Gast
Wir ermittle ich den größten und den kleinsten Wert in einem Array?
Habe bislang folgenden Code:

Code:
import java.util.*;

public class test {
  public static void main(String[] args) {
    Scanner eingabe = new Scanner(System.in); 
   
    System.out.println("Wie viele Temperaturen wollen Sie eingeben?"); 
    System.out.print("Ihre Eingabe: "); 
   
    int anzahl = eingabe.nextInt(); 
    int[] tempWerte = new int[anzahl];
   
    int summe = 0;
    for (int x=0;x<tempWerte.length ;x++ ) {
      System.out.print("Bitte geben Sie Ihre Temperaturen ein: ");
      tempWerte[x]=eingabe.nextInt();
      summe += tempWerte[x];
    }
    double durchschnitt = (double)(summe/tempWerte.length);
    System.out.println();
    System.out.println(durchschnitt);
    System.out.println();
  }
}
 
Wie würdest du es "von Hand" machen, wenn du eine Liste von Zahlen bekommst?
Wenn ich es "von Hand" machen würde, dann würde ich es ja mit meinen Augen sehen und schließlich wissen, dass 1 kleiner ist als 7...
Aber habe ja gar kein Ansatz hier, leider.
Ich muss halt natürlich irgendwie prüfen, ob Zahl an Stelle 0 kleiner ist als Zahl an Stelle 1 usw. aber weiß nicht wie ich das in Java formulieren soll.
 
Wir ermittle ich den größten und den kleinsten Wert in einem Array?
Java:
public class Main 
{
    
   
    public static void main(String[] args)
    {
        Integer[] array={1,2,3};
        Comparable max=null;
        Comparable min=null;
        if(array.length>0)
            max=array[0];
        min=max;
        for(Comparable c:array)
        {
            if(min.compareTo(c)>0)
                min=c;
            if(max.compareTo(c)<0)
                max=c;

        }
        System.out.println(min);
        System.out.println(max);
     
    }
   
}
 
Zuletzt bearbeitet von einem Moderator:
Hallo philip5281,
ich habe deinen Quellcode mal aufgeräumt und dir eine Lösung zur Ermittelung des kleinsten Wertes in einem Array, eingefügt.
Vielleicht hilft es dir weiter, einen Weg zu finden, auch den größten Wert in einem Array zu herauszubekommen.

In diesem Sinne schönen Restabend.
-DjangoDieMango

Java:
import java.util.*;
public class test {

  public static void main(String[] args) {
  
          Scanner eingabe = new Scanner(System.in);
 
        System.out.println("Wie viele Temperaturen wollen Sie eingeben?");
        System.out.print("Ihre Eingabe: ");

        int anzahl = eingabe.nextInt();
        int[] tempWerte = new int[anzahl];
        int summe = 0;
  
    ////////NEU///////////////////////////////////////////////////////
    int min = Integer.MAX_VALUE;  // VARIABLE ZUM VERGLEICHEN
    int pos = 0; // OPTIONAL
    /////////////////////////////////////////////////////////////////////
  
        for (int i = 0; i < tempWerte.length ; i++ ) {
  
            System.out.print("Bitte geben Sie Ihre Temperaturen ein: ");
                tempWerte[i]=eingabe.nextInt();
                summe += tempWerte[i];
    
     /////////////////////////NEU///////////////////////////////////////
      if(tempWerte[i] < min){  // ABFRAGE NACH DEM KLEINSTEN WERT
          pos = i+1;  // OPTIONAL
          min = tempWerte[i];
      }
      //////////////////////////////////////////////////////////////////////
    }
  
    System.out.println("Minimum: "+ min + " Position im Array: " + pos); // Ausgabe der position und des minimalesten Wertes
  
    double durchschnitt = (double)summe/tempWerte.length;
    System.out.println(durchschnitt);
  }
}
 
Zuletzt bearbeitet:
Du hast nen kleinen Fehler drin:
Java:
double durchschnitt =(double)(summe/tempWerte.length);
du rechnest hier int/int und castest erst das Ergebnis zu einem double.
Ich schätze mal du meinst eigentlich folgendes:
Java:
double durchschnitt =(double)summe/tempWerte.length;
 

Zurück
Oben