Minimum und Maximum ausgeben lassen

hummel3210

Mitglied
Hallo zusammen,
ich möchte gerne in die Eingabeaufforderung Zahlen eingeben und mir von einem Programm das Maximum bzw. das Minimum dieser Zahlen geben lassen. Ich habe folgendes Programm geschrieben, dass aber nicht funktioniert:

Java:
public class MinMax {
  public static void main(String[] args) {
    int a = int args.MAX_VALUE;
    System.out.println("max value " + a);
    int b = int args.MIN_VALUE;
    System.out.println("min value " + b);
  }
}

Wisst ihr, warum es nicht geht? Vielen Dank im Voraus.
 
Zuletzt bearbeitet:
Das Programm kann funktionieren:
Java:
...
int a = Integer.MAX_VALUE;
        System.out.println("max value " + a);
        int b = Integer.MIN_VALUE;
        System.out.println("min value " + b);
...
Ausgabe:
max value 2147483647
min value -2147483648
 
Ich denke das übliche Vorgehen bei solchen Fragen ist hier schon korrekt angewendet worden.

Wir könnten sofort die Lösung posten. Genau so, könnte man durch googeln diese Lösung schneller finden als hier im Forum.

Vielmehr möchte @M.L. zumindest den Ansatz des TO in eine richtige Syntax umwandeln. Von hier aus siehe den Hinweis der anderen Kollegen, die darauf hinweisen sich genau zu überlegen, wie man auf Papier vorgehen würde.

@hummel3210 siehe ternären Operator (davon gibts nur einen ...)
Den Hinweis auf einzelene Syntaxbausteine ist nicht besonders hilfreich, da der TO gerade dabei ist die Basiscs zu lernen.

@M.L.
Aber es sollen doch auch die Argumente (args) geparst werden...
Siehe oben... Wir könnten die Lösung posten, aber ich denke das ist nicht im Sinne des TO.
 
Auch wenn es hier jetzt etwas durch unseren Forentroll vom Thema selbst abgewichen ist, evtl. noch einmal zurück zur Ausgangslage:

Wisst ihr, warum es nicht geht?
Das Parameter args ist ein Array von String. Auf dem Array kannst Du in erster Linie nur die Elemente ansprechen (über den Index Operator []) und die Länge des Arrays abfragen. (Es gibt noch etwas mehr, halt das, was Object so bietet, aber das ist erst einmal egal!)

Somit gibt es kein MIN_VALUE und kein MAX_VALUE.

In dem Text hast Du geschrieben, dass es Dir um Zahlen geht:
Diese Aussage ist noch nicht konkret genug. Sollen es nur ganze Zahlen sein oder Fließkommazahlen? Aber es gibt ja auch noch komplexe Zahlen und so ... Und welcher Wertebereich soll betrachtet werden?
Das ist wichtig, um den richtigen Datentyp zu nutzen. Nehmen wir einmal an, dass Du ganze Zahlen betrachten willst und dass der Wertebereich eines int ausreicht:
Da Du Strings vorliegen hast, musst Du die Strings erst in int Werte umwandeln.
Von diesen Zahlen kannst Du dann das Minimum oder Maximum bekommen.

Das wären so ein paar Hintergründe, warum dein Code nicht funktioniert.

Damit man ein Programm schreiben kann, muss man also sehr genau beschreiben, was man machen will. So ist schon unklar, ob Du Eingaben entgegen nehmen willst vom User oder ob Du Parameter auswerten willst. Aber dann kann man Lösungswege formulieren.

So kann man z.B. einen Lösungsweg formulieren wie:
a) Minimum := Wert des ersten Parameters
b) Maximum := Wert des ersten Parameters
c) für jeden weiteren Parameter:
c.1) ist der Wert des weiteren Parameters kleiner als Minimum, dann Minimum := Wert des weiteren Parameters
c.2) ist der Wert des weiteren Parameters größer als Maximum, dann Maximum := Wert des weiteren Parameters
d) Ausgabe Minimum und Maximum


So ein Lösungsweg ist leicht zu verstehen und dann auch leicht umzusetzen. Dabei sind Dinge, die unklar sind, weiter zu Formulieren, also z.B. "Wert des ... Parameters" - was ist da zu machen? Das ist dann ein Folgeproblem. Software Entwicklung besteht immer aus zwei Dingen: 1. das Verständnis, was gebraucht wird und dann 2. das Unterteilen in Teilprobleme.

Wert des x.ten parameters:
a) gib zurück: Integer.parseInt(args(x-1));

Ausgabe Minumum und Maximum:
a) print "Minimum: " + Minimum
b) print "Maximum: " + Maximum

So ein Vorgehen sollte man sich immer überlegen. Wenn man da am Anfang nicht drauf kommt: Mache Dir ein Zettel und arbeite es selbst ab. Wenn Du einen Zettel mit Zahlen bekommst: Wie findest DU das Minimum? Was genau machst DU?
 

Zurück
Oben