Minimum von 5 Werten

sh33p

Bekanntes Mitglied
Ich habe einen Code geschrieben,der das Minimum von 5 eingelesen Werten berechnet:

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

  public static void main(String[] args) {
  
  Scanner scan = new Scanner(System.in);
  int e1 = scan.nextInt();
  int e2 = scan.nextInt();
  int e3 = scan.nextInt();
  int e4  = scan.nextInt();
  int e5  = scan.nextInt();
  System.out.println("Das Minimum ist: " + Mini(e1,e2,e3,e4,e5));

  }
  public static int Mini(int a,int b,int c,int d,int e){
    int wert = 0;
    if(a <b&& a<c && a < d && a <e ){
    int min = a;
    wert = a;

    }
    if( b<a && b<c && b<d && b<e){
    
    int min = b;
    wert = b;

    }
    if( c<a && c<b && c<d && c<e){
      int min = c;
      wert = c;
    }
    if( d<a && d<b && d<c && d<e){
      int min = d;
      wert = d;
    }
    if(e<a && e<b && e<c && e<d){
      int min = e;
      wert = e;
    }

    return wert;
  }

Dies denke ich geht bestimmt einfacher. Mir wurde der Tipp gegeben die Java.lang. Math min methode zu verwenden. diese errechnet aber nur das min von 2 werten. wie kann ich es erreichen,das mehrere werte verglichen werden?
 

nrg

Top Contributor
Ich würds wahrscheinlich direkt in eine Liste packen und mit Collections.min machen aber in deinem fall würde ich dir erstmal ein array als parameter empfehlen und eine schleife. dann kannst du nämlich nicht nur 5 werte reinstecken sondern soviel du willst und der code wird auch deutlich kürzer :)

edit: methodennamen schreibt man klein

edit2: bzw geht ja auch mit Arrays.sort. Mein Vorschlag wäre:

Java:
  Scanner scan = new Scanner(System.in);
  int[] array = new int[5];
  for ( int i = 0; i < array.length; i++ ) 
	  array[i] = scan.nextInt();
  System.out.println("Das Minimum ist: " + mini( array ));
 
  }
  public static int mini( int[] array ){
	  Arrays.sort( array );
	  return array[0];
  }

edit3: oder ohne hilfe von Arrays oder Collections:
Java:
	public static int mini( int[] array ){
		if ( array.length == 0 ) {
			System.out.println( "Das Array ist leer!" );
			return 0;
		}
		int min = array[0];
		for ( int i = 1; i < array.length; i++ )
			if ( array[i] < min )
				min = array[i];
		return min;
	}
 
Zuletzt bearbeitet:

faetzminator

Gesperrter Benutzer
Java:
Scanner scanner = new Scanner(System.in);
final int count = 5;
int value = Integer.MAX_VALUE;
for (int i = 0; i < count; i++) {
    value = Math.min(value, scanner.nextInt());
}
System.out.println("Das Minimum ist: " + value);
;)
 
J

JohannisderKaeufer

Gast
Und mit args.
Java:
int value = Integer.MAX_VALUE;
for (String arg : args) {
    value = Math.min(value, Integer.valueOf(arg));
}
System.out.printf("Das Minimum ist: %03d\n", value);
 

xZise

Aktives Mitglied
Moin,
es gibt ja schon Math.min() für zwei Werte. Gibt es denn nichts direkt entsprechendes für n Werte? Ich meine der Unterschied ist ja nicht so riesig, und mit arrays oder mehreren Parametern geht das doch relativ einfach (und auch teilweise ohne das die Anwendung davon was merkt).

Ich denke da an sowas:
Java:
public static int min(int a, int... b) {
    int min = a;
    for (int i = 0; i < b.length; i++) {
        if (b[i] < min) {
            min = b[i];
        }
    }
    return min;
}
So kann man sogar die Anwendung ohne Probleme weiterverwenden ohne die alte Methode weiter zu nutzen, da die Signatur identisch ist.

MfG
xZise
 

agentone

Bekanntes Mitglied
xZise hat gesagt.:
da die Signatur identisch ist.
Naja, identisch ist was anderes, "ähnlich" trifft es besser.
Zumindest müssten alte Programme trotzdem noch funktionieren...
Aber nur, wenn es die VM nicht ganz so genau nimmt.

Es ist sowieso schade, dass die neuen Sprachelemente noch nicht mal in der API verwendet werden:
-enum (kaum)
-var-args (selten)
-generic (fehlt an manchen stellen)
 

xZise

Aktives Mitglied
Moin,
ich meine mit „identischer“ Signatur, dass sie abwärtskompatibel und bedingt aufwärtskompatibel (solange zwei Werte benutzt) ist.

MfG
Fabian
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Minimum und Maximum ausgeben lassen Java Basics - Anfänger-Themen 7
H Minimum in einem Array bestimmen Java Basics - Anfänger-Themen 7
N Minimum ausgeben lassen Java Basics - Anfänger-Themen 5
Z If abfrage - Minimum 0 Java Basics - Anfänger-Themen 9
B Java rekursion minimum von ein array Java Basics - Anfänger-Themen 2
1 Minimum aller Elemente in einem Array bestimmen Java Basics - Anfänger-Themen 10
R Erste Schritte Minimum und Maximum in Array finden Java Basics - Anfänger-Themen 29
A Felder- Minimum/Maximum Java Basics - Anfänger-Themen 2
E Minimum wird nicht ausgegeben Java Basics - Anfänger-Themen 9
M Maximum, Minimum und Mittelwert berechnen Java Basics - Anfänger-Themen 25
P Lokales Minimum- Maximum, Globales Minimum - Maximum ? Java Basics - Anfänger-Themen 4
B Minimum eines Int Arrays Java Basics - Anfänger-Themen 6
P Minimum/Maximum aus einer Liste Java Basics - Anfänger-Themen 3
S Minimum eines String-Arrays Java Basics - Anfänger-Themen 16
A Daten aus einer HashMap aus einer DB speichern und mit neuen Werten vergleichen Java Basics - Anfänger-Themen 8
N Array beim erstellen mit Werten füllen Java Basics - Anfänger-Themen 6
M Kommandozeilenparamter als EINEN String werten Java Basics - Anfänger-Themen 5
T PDF-Formula (XFDF) via Mail - Betreff mit Werten aus PDF-Formular ergänzen Java Basics - Anfänger-Themen 2
A Werten aus dem Text ausliesten Java Basics - Anfänger-Themen 6
Csircc Neuer Array mit geringerer Länge und selben werten. Java Basics - Anfänger-Themen 2
M Wie kann eine Methode (string) eine andere Methode (void) mit zufälligen int-Werten aufrufen? Java Basics - Anfänger-Themen 4
U Erste Schritte nextGaussian zwischen zwei Werten Java Basics - Anfänger-Themen 19
C Methode Grouping mit Werten ausgeben Java Basics - Anfänger-Themen 2
J Java Queue mit default Werten erstellen Java Basics - Anfänger-Themen 4
W Mehrfach das gleiche Attribut für ein Objekt erzeugen (mit verschiedenen Werten) Java Basics - Anfänger-Themen 2
D Input/Output fehlerhafter Algorithmus zum Ersetzen von Array-Werten nach logischem Schema Java Basics - Anfänger-Themen 1
M Arrays mit mehreren Werten über JOptionPane initialisieren Java Basics - Anfänger-Themen 12
K Übergabe von Werten (zweidimensionales Array) aus einer Methode an zweidimensionales Array in main() Java Basics - Anfänger-Themen 3
N Speichern von Werten in Variablen nach Schließen des Programms Java Basics - Anfänger-Themen 3
O zwei Arrays nach Werten durchsuchen und zusammenfügen Java Basics - Anfänger-Themen 3
B Rückgabe von zwei Werten: String und double Java Basics - Anfänger-Themen 14
Henri Vergabe von undeklarieten Werten Java Basics - Anfänger-Themen 64
V Schleife für das Einlesen von Werten für int Variablen, die Bestandteil von Arrays sein sollen Java Basics - Anfänger-Themen 16
E OOP Array anlegen mit unterschiedlichen Werten Java Basics - Anfänger-Themen 8
R Eingabe String umwandeln zu Integer Werten Java Basics - Anfänger-Themen 8
M Speichern von Werten in Array Java Basics - Anfänger-Themen 1
P Input/Output Bestimmte Anzahl von Werten in einem Array an Methode übergeben Java Basics - Anfänger-Themen 2
M Übergabe von Werten Java Basics - Anfänger-Themen 10
Bregedur Methoden Matcher und Pattern bei sich wiederholenden Werten Java Basics - Anfänger-Themen 1
M Java Arrays mit Werten initialisieren Java Basics - Anfänger-Themen 3
G Interpolation von Werten im 3D-Raum Java Basics - Anfänger-Themen 3
N Zählen von Rationalen Werten eines Arrays Java Basics - Anfänger-Themen 10
R Objekt erstellen - Attribute mit mehreren Werten Java Basics - Anfänger-Themen 1
F JButton [] mit Werten hinterlegen Java Basics - Anfänger-Themen 10
L Frage zur Rückgabe von Werten bei Methoden Java Basics - Anfänger-Themen 4
L Array mit Werten belegen Java Basics - Anfänger-Themen 7
Crazynet jTable erste Zeile mit deffinierten Werten Java Basics - Anfänger-Themen 0
J JFrame ausgabe von Werten Java Basics - Anfänger-Themen 9
F Array mit Scanner-Werten Java Basics - Anfänger-Themen 4
W Klassen [GELÖST] Objekte während der Laufzeit mit neuen veränderten Werten beliebig oft initialisieren Java Basics - Anfänger-Themen 2
J ArrayList<int[]> wird beim hinzufügen von werten komplett überschrieben warum? Java Basics - Anfänger-Themen 1
GreyFox Object dynamisch mit werten versehen. Java Basics - Anfänger-Themen 4
C Arrays zusammenfügen mit abwechselnden Werten Java Basics - Anfänger-Themen 3
F Map nach Werten durchsuchen Java Basics - Anfänger-Themen 3
S Suche richtigen Typ für Variabel mit den Werten (neu, gebraucht, beschädigt) Java Basics - Anfänger-Themen 7
V Methoden Matrix als 1D Array mit Werten füllen Java Basics - Anfänger-Themen 12
T Liste mit 2 Werten pro Eintrag Java Basics - Anfänger-Themen 9
F Effizientes Lesen von 65 Datein mit Boolean Werten Java Basics - Anfänger-Themen 6
A OOP Buchstaben mit ASCII Werten darstellen Java Basics - Anfänger-Themen 1
M Ausgeben eines 2D Arrays mit int UND String werten - BLUEJ! Java Basics - Anfänger-Themen 4
V Anzahl von gleichen Werten in einem Int-Array ermitteln Java Basics - Anfänger-Themen 4
M Mit Werten aus Arrays in anderen Methoden rechnen? Java Basics - Anfänger-Themen 3
D Sortieren von int Werten von Objekten in einer LinkedList, kann nicht auf int Werte zugreifen Java Basics - Anfänger-Themen 3
L Array - Nach 2 gleichen Werten stoppen Java Basics - Anfänger-Themen 5
N mit Werten aus einer mysql datenbank in java rechnen Java Basics - Anfänger-Themen 17
X Methoden Vertauschen von 2 Werten eines Arrays Java Basics - Anfänger-Themen 13
J Subtraktion von double Werten Java Basics - Anfänger-Themen 3
P Objekt mit Werten aus Array füllen Java Basics - Anfänger-Themen 10
P Vererbung Auslesen von Werten einer ArrayList Java Basics - Anfänger-Themen 30
S Erfahrungswerte von schnelles durchlaufen von Listen mit 2 Werten Java Basics - Anfänger-Themen 10
T Externes Programm mit Werten versorgen Java Basics - Anfänger-Themen 4
T Ausgabe von Werten des Typs double Java Basics - Anfänger-Themen 8
J Zuweisung von gesicherten Werten funktioniert nicht Java Basics - Anfänger-Themen 9
P Methoden Übergabe von Werten Java Basics - Anfänger-Themen 7
D Regex mit Werten aus txt Datei Java Basics - Anfänger-Themen 2
C Mit if Überprüfung von drei Werten durchführen Java Basics - Anfänger-Themen 6
C Comparator mit Double Werten? Java Basics - Anfänger-Themen 12
J Datentypen Fehler bei Berechnung mit Double und Int-Werten Java Basics - Anfänger-Themen 22
T Hashmap mit mehreren Werten Java Basics - Anfänger-Themen 9
B Zweidimensionales Array mit boolean Werten Java Basics - Anfänger-Themen 3
F grafische Anzeige von Werten Java Basics - Anfänger-Themen 2
darekkay Datentypen HashSet bzw. LinkedList mit Werten initialisieren Java Basics - Anfänger-Themen 3
U Datentypen Ungenauigkeit von Double Werten Java Basics - Anfänger-Themen 5
L Datentypen Methode zum Abspeichern von Variablen mit größeren int-Werten Java Basics - Anfänger-Themen 6
Rudolf Datentypen Vectorliste mit Werten in zufälliger Anordnung Java Basics - Anfänger-Themen 5
1 Ständige Abfrage von Werten Java Basics - Anfänger-Themen 19
M Image zeichenen mit Double Werten Java Basics - Anfänger-Themen 4
J double-Array mit Werten von Methode füllen und an andere Methode übergeben Java Basics - Anfänger-Themen 3
H Checkbox mit Werten hinterlegen Java Basics - Anfänger-Themen 4
P Initialisierung einer 5*5 Matrix mit best. Werten Java Basics - Anfänger-Themen 2
M property mit mehreren werten Java Basics - Anfänger-Themen 3
F Speicherung von Werten?!? Java Basics - Anfänger-Themen 7
L Array - Eingabe von Werten Java Basics - Anfänger-Themen 2
S mit Werten aus 2D-Array rechnen Java Basics - Anfänger-Themen 32
C ArrayList mit Integer Werten Java Basics - Anfänger-Themen 6
babel ein Vector mit verschiedenen Werten auslesen und berechnen Java Basics - Anfänger-Themen 34
S Elemente einer Liste mit true / false Werten Java Basics - Anfänger-Themen 3
X reele Zahlen zwischen zwei Werten addieren Java Basics - Anfänger-Themen 11
E Übergabe von werten aus einem JDialog Java Basics - Anfänger-Themen 4
G art hashmap mit mehreren werten pro key Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben