Java Enum converter Methode

NicoBec

Mitglied
Hallo,

ich habe die Aufgabe, mit einem Enum bestimmte Längeneinheiten zu erstellen und abzufragen. Das ist kein Problem.

Ich soll aber auch eine Methode schreiben, die eine Längeneinheit in die andere konvertiert.

Mein Ansatz dazu:

Java:
/**
     * Converts the given amount measured in the current length unit to how much it would be
     * in the target unit.
     *
     * @param targetLength
     *            the target unit of length.
     * @param amount
     *            the length to convert to the target length.
     * @return the corresponding length in the target unit.
     */
    public double convertTo(Length targetLength, double amount) {
   
       
       
        return
       
    }

Die Idee ist, dass diese Methode die Menge "amount" * der Längeneinheit, auf der die Methode aufgerufen wird als Produkt nimmt und das ganze durch die Einheit der "targetLength" teilt. Meine Frage ist jetzt aber, wo ich den Wert der Längeneinheit, auf der die Methode aufgerufen wird, herbekomme bzw. wie ich diese in die Methode einbaue?

Bsp.:

ich rufe auf:

Length.EINHEIT_X.convertTo(Length.EINHEIT_Z, 1);

Die Methode soll jetzt 1 * EINHEIT_X rechnen, damit ich dies dann durch EINHEIT_Z teilen kann.

LG
 
@NicoBec
Da die Aufgabenstellung ein Enum als Informationsträger vorgibt, dann benutze diesen doch in der Parameterliste.
Java:
public class Test
{

    public static void main(String[] args)
    {
        double lenghtA = 10;
        double lenghtB = 2;
       
        CalculateLenght cl = new CalculateLenght();
        System.out.println(cl.valueOf(lenghtA, Covertable.METER, Covertable.DECIMETER));
        System.out.println(cl.valueOf(lenghtB, Covertable.MILLIMETER, Covertable.CENTIMETER));
      
    }
}
/** Konsolenausgabe */
100.0
0.2
 
Da die Aufgabenstellung ein Enum als Informationsträger vorgibt, dann benutze diesen doch in der Parameterliste.
Ich glaube, das ist in dem Fall eher verwirrend (vor allem geht der Code ziemlich an der Aufgabe vorbei) 😉


Die Idee ist, dass diese Methode die Menge "amount" * der Längeneinheit, auf der die Methode aufgerufen wird als Produkt nimmt und das ganze durch die Einheit der "targetLength" teilt. Meine Frage ist jetzt aber, wo ich den Wert der Längeneinheit, auf der die Methode aufgerufen wird, herbekomme bzw. wie ich diese in die Methode einbaue?
Enums können genauso wie normale Objekte Attribute haben, du kannst als eine ganz normale Variable für die "Längeneinheit" nutzen 😉
 

Neue Themen


Zurück
Oben