Du bist nicht eingeloggt.

Login

Pass

Registrieren

Community
Szene & News
Locations
Impressum

Forum / Bits und Bytes

Java Problem bei MinMax

<<< zurück   -1- -2-  
ItsPayne - 41
Profi (offline)

Dabei seit 12.2008
997 Beiträge

Geschrieben am: 20.08.2010 um 15:58 Uhr
Zuletzt editiert am: 20.08.2010 um 16:00 Uhr

Funzt beides..

[verlinkte Grafik wurde nicht gefunden]


Wenn du lange genug in einen Abgrund blickst, blickt der Abgrund auch in dich hinein.

Page666 - 46
Profi (offline)

Dabei seit 07.2005
612 Beiträge
Geschrieben am: 20.08.2010 um 16:17 Uhr

Zitat von scw:

Hab dir auch noch eine kurze Lösung. Kannst ja mal ausprobieren, ob das funktioniert:

public static int minMax(boolean isMin, int... values)
{
int value = values[0];
for(int i = 1; i < values.length; ++i)
{
if(isMin & values[i] < value
|| !isMin && values[i] > value)
{
value = values[i];
}

}
return value;
}


Ungewöhnliche Lösung, aber von der Idee her durchaus interessant. Allerdings finde ich das etwas kompliziert für Programmieranfänger. Ich hätte mich da an normale Fallunterscheidungen ohne Schleife gehalten. Das macht den Code auch besser lesbar und nachvollziehbar.

https://www.youtube.com/user/wormcluster

scw - 42
Experte (offline)

Dabei seit 09.2002
1836 Beiträge
Geschrieben am: 20.08.2010 um 16:44 Uhr

Zitat von Page666:

Zitat von scw:

Hab dir auch noch eine kurze Lösung. Kannst ja mal ausprobieren, ob das funktioniert:

public static int minMax(boolean isMin, int... values)
{
int value = values[0];
for(int i = 1; i < values.length; ++i)
{
if(isMin & values[i] < value
|| !isMin && values[i] > value)
{
value = values[i];
}

}
return value;
}


Ungewöhnliche Lösung, aber von der Idee her durchaus interessant. Allerdings finde ich das etwas kompliziert für Programmieranfänger. Ich hätte mich da an normale Fallunterscheidungen ohne Schleife gehalten. Das macht den Code auch besser lesbar und nachvollziehbar.


Also ungewöhnlich finde ich die Lösung jetzt nicht. Hat halt den Vorteil, dass man beliebig viele Werte der Methode übergeben kann und man immer den Min- bzw. Maxwert bekommt.
Mit nur zwei Werten müsste man einfach die Methode ändern (minMax(boolean isMin, int x, int y) ), die for-Schleife weg werfen und das if-Statement leicht abändern :-)

Aber stimmt. Für Programmieranfänger vllt etwas ungeeignet.
scw - 42
Experte (offline)

Dabei seit 09.2002
1836 Beiträge
Geschrieben am: 20.08.2010 um 16:46 Uhr
Zuletzt editiert am: 20.08.2010 um 16:47 Uhr

Zitat von ItsPayne:

Funzt beides..

[verlinkte Grafik wurde nicht gefunden]


btw. init... values gibt es wirklich. Kam glaub erst in Java5 bzw. Java6 dazu. Bedeutet so viel wie eine beliebige Anzahl an Parametern, die dann in ein Array in der Methode "gespeichert" werden. Geht halt nur beim letzten Parameter einer Methode (was auch logisch ist).

Solche Tests lassen sich in Java auch schön mit JUnit machen :-)
<<< zurück
 
-1- -2- [Antwort schreiben]

Forum / Bits und Bytes

(c) 1999 - 2026 team-ulm.de - all rights reserved - hosted by ibTEC Team-Ulm

- Presse - Blog - Historie - Partner - Nutzungsbedingungen - Datenschutzerklärung - Jugendschutz -