package org.djunits.demo.examples; import java.util.Locale; import org.djunits.unit.SpeedUnit; import org.djunits.unit.util.UNITS; import org.djunits.value.ValueRuntimeException; import org.djunits.value.storage.StorageType; import org.djunits.value.vdouble.scalar.Duration; import org.djunits.value.vdouble.scalar.Length; import org.djunits.value.vdouble.scalar.Speed; import org.djunits.value.vdouble.vector.SpeedVector; import org.djunits.value.vdouble.vector.base.DoubleVector; /** * This Java code demonstrates multiplication and division using DJUNITS. *

* Copyright (c) 2015-2022 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
* BSD-style license. See DJUNITS License. *

* @version $Revision$, $LastChangedDate$, by $Author$, * initial version 3 sep. 2015
* @author Alexander Verbraeck * @author Peter Knoppers */ public final class MultiplyAndDivide implements UNITS { /** */ private MultiplyAndDivide() { // utility constructor. } /** * Create some scalar values to demonstrate conversion from and to related units. * @param args String[]; the command line arguments; not used * @throws ValueRuntimeException in case of error */ public static void main(final String[] args) throws ValueRuntimeException { Locale.setDefault(Locale.US); // Ensure that floating point values are printed using a dot (".") Speed speed = new Speed(50, KM_PER_HOUR); Duration duration = new Duration(0.5, HOUR); System.out.println("speed is " + speed); // prints 50.000km/h System.out.println("duration is " + duration); // prints 0.500h Length distance = speed.times(duration); System.out.println("distance is " + distance); // prints 2.500e+04m Length finish = new Length(100, KILOMETER); Duration timeToFinish = finish.divide(speed); System.out.println("at speed " + speed + " it will take " + timeToFinish + " to travel " + finish); Speed requiredSpeed = finish.divide(duration); System.out.println("speed required to reach finish at " + finish + " in " + duration + " is " + requiredSpeed.toString(KM_PER_HOUR)); Speed speed1 = new Speed(1.2, SpeedUnit.SI); Speed speed2 = speed1.times(2.0); System.out.println("speed times 2 = " + speed2); Speed speed3 = speed1.times(3.0); System.out.println("speed times 3 = " + speed3); double[] sv = new double[] {1, 2, 3, 4, 5}; SpeedVector speedVector = DoubleVector.instantiate(sv, SpeedUnit.SI, StorageType.DENSE); System.out.println("speed vector = " + speedVector); } }