Basisklassen

Klasse MiniMaximizer

 aufwärts

Ein Objekt der Klasse MiniMaximizer verarbeitet eine Folge von Paaren (Zahlenwert, Objekt) und merkt sich das Minimum und das Maximum bezüglich des Zahlenwerts zusammen mit dem jeweils dazu­gehörigen Objekt.

Die Zahlenwerte sind vom Typ double.

 

public class MiniMaximizer<Type>
{
    private double minval, maxval;
    private Type minobj, maxobj;
    private boolean empty;

    public MiniMaximizer()
    {
        reset();
    }

    public void reset()
    {
        minval=Double.POSITIVE_INFINITY;
        maxval=Double.NEGATIVE_INFINITY;
        minobj=null;
        maxobj=null;
        empty=true;
    }

    public void add(double val, Type obj)
    {
        if (empty || val<minval)
        {
            minval=val;
            minobj=obj;
        }
        if (empty || val>maxval)
        {
            maxval=val;
            maxobj=obj;
        }
        empty=false;
    }

    // wenn es nur auf die Werte ankommt
    public void add(double val)
    {
        add(val, null);
    }

    public double getMinVal()
    {
        return minval;
    }

    public Type getMinObj()
    {
        return minobj;
    }

    public double getMaxVal()
    {
        return maxval;
    }

    public Type getMaxObj()
    {
        return maxobj;
    }

    public boolean isEmpty()
    {
        return empty;
    }

} 

 

Ein MiniMaximizer wird in folgender Weise benutzt. Mit der Methode add werden mehrere Paare (Zahlenwert, Objekt) hinzugefügt. Der MiniMaximizer merkt sich das Minimum und das Maximum bezüglich des Zahlenwerts zusammen mit dem jeweils dazu­gehörigen Objekt. In diesem Beispiel liefert getMinObj das Objekt "minus 1" und getMaxObj das Objekt "vier".

 

import junit.framework.TestCase;

public class TestMiniMaximizer extends TestCase
{
    public static void testMiniMaximizer()
    {
        MiniMaximizer<String> m=new MiniMaximizer<String>();
        m.add(3, "drei");
        m.add(-1, "minus 1");
        m.add(4, "vier");
        System.out.println(m.getMinObj()+" "+m.getMaxObj());
    }
}

 

up

 

homeH.W. Lang   Hochschule Flensburg   lang@hs-flensburg.de   Impressum   Datenschutz   ©   Created: 06.02.2009   Updated: 17.06.2018
Valid HTML 4.01 Transitional

Hochschule Flensburg
Campus Flensburg

Informatik in Flensburg studieren...

 

Neu gestaltetes Studienangebot:

Bachelor-Studiengang
Angewandte Informatik

mit Schwerpunkten auf den Themen Software, Web, Mobile, Security und Usability.

Ihr Abschluss
nach 7 Semestern:
Bachelor of Science

 

Ebenfalls ganz neu:

Master-Studiengang
Angewandte Informatik

Ein projektorientiertes Studium auf höchstem Niveau mit den Schwerpunkten Internet-Sicherheit, Mobile Computing und Human-Computer Interaction.

Ihr Abschluss
nach 3 Semestern:
Master of Science

 

Weitere Informatik-Studienangebote an der Hochschule Flensburg:

Medieninformatik

Wirtschaftsinformatik